fixed some saves and changed projectfinalseminarpanel to use model instead of entity object
This commit is contained in:
parent
eaedb5ec66
commit
09303ce375
src/main/java/se/su/dsv/scipro/opponent/panels
@ -384,7 +384,7 @@ public class EditFinalSeminarFormPanel extends Panel {
|
||||
.getActiveParticipations();
|
||||
if (!allList.contains(al) && !al.isPreDeleted()) {
|
||||
al.setFinalSeminar(editSeminar);
|
||||
finalSeminarActiveParticipationDao.save(al);
|
||||
al = finalSeminarActiveParticipationDao.save(al);
|
||||
|
||||
} else if (al.isPreDeleted() && allList.contains(al)) {
|
||||
finalSeminarActiveParticipationDao
|
||||
|
@ -46,7 +46,11 @@ import se.su.dsv.scipro.repository.FileRepository;
|
||||
import se.su.dsv.scipro.repository.SortOrder;
|
||||
import se.su.dsv.scipro.repository.components.FileDownloadLink;
|
||||
import se.su.dsv.scipro.repository.components.FileOpenLink;
|
||||
import se.su.dsv.scipro.util.*;
|
||||
import se.su.dsv.scipro.util.CollectionFilterUtil;
|
||||
import se.su.dsv.scipro.util.DateFormatter;
|
||||
import se.su.dsv.scipro.util.JavascriptEventConfirmation;
|
||||
import se.su.dsv.scipro.util.Predicate;
|
||||
import se.su.dsv.scipro.util.TurnitinComponent;
|
||||
|
||||
public class ProjectFinalSeminarPanel extends Panel {
|
||||
|
||||
@ -70,14 +74,14 @@ public class ProjectFinalSeminarPanel extends Panel {
|
||||
private Dialog editSeminarDialog;
|
||||
private EditSeminarForm editSeminarForm;
|
||||
|
||||
public ProjectFinalSeminarPanel(final String id, final FinalSeminar seminar,
|
||||
public ProjectFinalSeminarPanel(final String id, final Model<FinalSeminar> seminarModel,
|
||||
final boolean isSupervisorView) {
|
||||
super(id);
|
||||
|
||||
setVersioned(false);
|
||||
|
||||
EditForm editForm;
|
||||
add(editForm = new EditForm("editForm", seminar));
|
||||
add(editForm = new EditForm("editForm", seminarModel));
|
||||
|
||||
editSeminarDialogContainer = new WebMarkupContainer("dialogContainer");
|
||||
editSeminarDialog = new Dialog("dialog");
|
||||
@ -89,10 +93,10 @@ public class ProjectFinalSeminarPanel extends Panel {
|
||||
editSeminarDialogContainer.setOutputMarkupId(true);
|
||||
editSeminarDialogContainer.add(editSeminarForm = new EditSeminarForm("editSeminarForm"));
|
||||
editSeminarForm.setOutputMarkupId(true);
|
||||
add(new Label("seminarLocation", seminar.getRoom()));
|
||||
add(new Label("projectClass", seminar.getProject().getProjectClass().getName()));
|
||||
add(new Label("seminarLanguage", seminar.getPresentationLanguage().toString()));
|
||||
add(new Label("thesisLanguage", seminar.getReportLanguage().toString()));
|
||||
add(new Label("seminarLocation", seminarModel.getObject().getRoom()));
|
||||
add(new Label("projectClass", seminarModel.getObject().getProject().getProjectClass().getName()));
|
||||
add(new Label("seminarLanguage", seminarModel.getObject().getPresentationLanguage().toString()));
|
||||
add(new Label("thesisLanguage", seminarModel.getObject().getReportLanguage().toString()));
|
||||
|
||||
if (!isSupervisorView) {
|
||||
editForm.setVisible(false);
|
||||
@ -104,10 +108,10 @@ public class ProjectFinalSeminarPanel extends Panel {
|
||||
.isFinalSeminarThesisMustBeAPDF() && !isSupervisorView);
|
||||
add(pdfLabel);
|
||||
int totalAttendees = 1;
|
||||
totalAttendees += seminar.getActiveParticipations().size();
|
||||
totalAttendees += seminar.getProject().getProjectFollowers().size();
|
||||
totalAttendees += seminar.getProject().getProjectParticipants().size();
|
||||
totalAttendees += seminar.getOppositions().size();
|
||||
totalAttendees += seminarModel.getObject().getActiveParticipations().size();
|
||||
totalAttendees += seminarModel.getObject().getProject().getProjectFollowers().size();
|
||||
totalAttendees += seminarModel.getObject().getProject().getProjectParticipants().size();
|
||||
totalAttendees += seminarModel.getObject().getOppositions().size();
|
||||
|
||||
final Dialog attendeesDialog = new Dialog("attendeesDialog");
|
||||
attendeesDialog.setModal(true);
|
||||
@ -121,7 +125,7 @@ public class ProjectFinalSeminarPanel extends Panel {
|
||||
attendeesDialog.add(attendeesDialogContainer);
|
||||
add(attendeesDialog);
|
||||
|
||||
add(new FinalSeminarDetailsPanel("finalSeminarDetailsPanel", seminar, false));
|
||||
add(new FinalSeminarDetailsPanel("finalSeminarDetailsPanel", seminarModel.getObject(), false));
|
||||
|
||||
final AjaxLink<Void> totalAttendeesLink = new AjaxLink<Void>("totalAttendeesLink") {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@ -129,7 +133,7 @@ public class ProjectFinalSeminarPanel extends Panel {
|
||||
@Override
|
||||
public void onClick(AjaxRequestTarget target) {
|
||||
attendeesDialogContainer.replace(new FinalSeminarDetailsPanel(
|
||||
"attendeesDialogContent", seminar, false));
|
||||
"attendeesDialogContent", seminarModel.getObject(), false));
|
||||
target.addComponent(attendeesDialogContainer);
|
||||
attendeesDialog.open(target);
|
||||
}
|
||||
@ -140,14 +144,14 @@ public class ProjectFinalSeminarPanel extends Panel {
|
||||
|
||||
add(new Label("totalAttendees", String.valueOf(totalAttendees)));
|
||||
|
||||
add(new DateFormatter(DateFormatter.FORMAT.EXTENDED).createFormattedDateLabel("seminarDate", seminar.getStartDate()));
|
||||
add(new DateFormatter(DateFormatter.FORMAT.EXTENDED).createFormattedDateLabel("seminarDate", seminarModel.getObject().getStartDate()));
|
||||
|
||||
add(new DateFormatter(DateFormatter.FORMAT.REDUCED).createFormattedDateLabel("seminarEndDate", seminar.getEndDate()));
|
||||
add(new DateFormatter(DateFormatter.FORMAT.REDUCED).createFormattedDateLabel("seminarEndDate", seminarModel.getObject().getEndDate()));
|
||||
/*
|
||||
* Deadline -7 days removed, deadline is now the start-date of the
|
||||
* seminar
|
||||
*/
|
||||
finalSubmissionDate = new DateTime(seminar.getStartDate()).minusDays(7).toDate();
|
||||
finalSubmissionDate = new DateTime(seminarModel.getObject().getStartDate()).minusDays(7).toDate();
|
||||
|
||||
add(new Label("seminarReportTitle", new Model<String>() {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@ -155,7 +159,7 @@ public class ProjectFinalSeminarPanel extends Panel {
|
||||
@Override
|
||||
public String getObject() {
|
||||
|
||||
return seminar.getDocument() == null ? "" : seminar.getDocument().getName();
|
||||
return seminarModel.getObject().getDocument() == null ? "" : seminarModel.getObject().getDocument().getName();
|
||||
}
|
||||
}));
|
||||
|
||||
@ -164,14 +168,14 @@ public class ProjectFinalSeminarPanel extends Panel {
|
||||
|
||||
@Override
|
||||
public boolean isVisible() {
|
||||
return seminar.getDocument() != null;
|
||||
return seminarModel.getObject().getDocument() != null;
|
||||
}
|
||||
};
|
||||
|
||||
uploadInfoContainer.add(new DateFormatter().createFormattedDateLabel("uploadDate", seminar.getDocumentUploadDate()));
|
||||
uploadInfoContainer.add(new DateFormatter().createFormattedDateLabel("uploadDate", seminarModel.getObject().getDocumentUploadDate()));
|
||||
|
||||
if (seminar.getDocumentUploader() != null) {
|
||||
uploadInfoContainer.add(seminar.getDocumentUploader().getDisplayComponent("uploader"));
|
||||
if (seminarModel.getObject().getDocumentUploader() != null) {
|
||||
uploadInfoContainer.add(seminarModel.getObject().getDocumentUploader().getDisplayComponent("uploader"));
|
||||
} else {
|
||||
uploadInfoContainer.add(new EmptyPanel("uploader"));
|
||||
}
|
||||
@ -188,10 +192,11 @@ public class ProjectFinalSeminarPanel extends Panel {
|
||||
|
||||
@Override
|
||||
public void onClick() {
|
||||
String url = turnitinComponent.returnReport(seminar.getTurnitinId());
|
||||
String url = turnitinComponent.returnReport(seminarModel.getObject().getTurnitinId());
|
||||
if (url != null) {
|
||||
seminar.setCheckedForPlagirism(true);
|
||||
finalSeminarDao.save(seminar);
|
||||
seminarModel.getObject().setCheckedForPlagirism(true);
|
||||
seminarModel.setObject(seminarModel.getObject());
|
||||
// seminar = finalSeminarDao.save(seminar);
|
||||
}
|
||||
setResponsePage(new TurnitinPopupPage(url));
|
||||
}
|
||||
@ -199,14 +204,14 @@ public class ProjectFinalSeminarPanel extends Panel {
|
||||
turnItLink.setPopupSettings(new PopupSettings(PopupSettings.SCROLLBARS));
|
||||
turnItLink.setOutputMarkupPlaceholderTag(true);
|
||||
turnItLink.setVisible(false);
|
||||
if (seminar.getTurnitinId() != null) {
|
||||
if (seminar.isCheckedForPlagirism())
|
||||
if (seminarModel.getObject().getTurnitinId() != null) {
|
||||
if (seminarModel.getObject().isCheckedForPlagirism())
|
||||
plagiarismLabel.setDefaultModelObject("Yes");
|
||||
turnItLink.setVisible(isSupervisorView);
|
||||
}
|
||||
|
||||
uploadInfoContainer.add(new FileDownloadLink("download", seminar.getDocument()).add(new ImageObject("downloadIcon", ImageObject.SIXTEEN + ImageObject.DOCUMENT_DOWN)));
|
||||
uploadInfoContainer.add(new FileOpenLink("open", seminar.getDocument()).add(new ImageObject("openIcon", ImageObject.SIXTEEN + ImageObject.DOCUMENT_VIEW)));
|
||||
uploadInfoContainer.add(new FileDownloadLink("download", seminarModel.getObject().getDocument()).add(new ImageObject("downloadIcon", ImageObject.SIXTEEN + ImageObject.DOCUMENT_DOWN)));
|
||||
uploadInfoContainer.add(new FileOpenLink("open", seminarModel.getObject().getDocument()).add(new ImageObject("openIcon", ImageObject.SIXTEEN + ImageObject.DOCUMENT_VIEW)));
|
||||
uploadInfoContainer.add(plagiarismLabel);
|
||||
uploadInfoContainer.add(turnItLink);
|
||||
uploadInfoContainer.add(checkPlagiarismLabel);
|
||||
@ -217,14 +222,14 @@ public class ProjectFinalSeminarPanel extends Panel {
|
||||
@Override
|
||||
public boolean isVisible() {
|
||||
|
||||
return !isSupervisorView && seminar.getActiveParticipations().isEmpty()
|
||||
&& seminar.getOppositions().isEmpty() && seminar.getTurnitinId() == null;
|
||||
return !isSupervisorView && seminarModel.getObject().getActiveParticipations().isEmpty()
|
||||
&& seminarModel.getObject().getOppositions().isEmpty() && seminarModel.getObject().getTurnitinId() == null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSubmit() {
|
||||
try {
|
||||
seminarUploadController.deleteSeminarReport(seminar);
|
||||
seminarUploadController.deleteSeminarReport(seminarModel.getObject());
|
||||
setResponsePage(ProjectStartPage.class);
|
||||
} catch (RuntimeException e) {
|
||||
error("Cannot delete report, opponents or active participants have signed up already");
|
||||
@ -245,11 +250,11 @@ public class ProjectFinalSeminarPanel extends Panel {
|
||||
|
||||
@Override
|
||||
public boolean isVisible() {
|
||||
return seminar.getOppositions().size() == 0;
|
||||
return seminarModel.getObject().getOppositions().size() == 0;
|
||||
}
|
||||
});
|
||||
|
||||
add(new ListView<FinalSeminarOpposition>("opponentList", seminar.getOppositions()) {
|
||||
add(new ListView<FinalSeminarOpposition>("opponentList", seminarModel.getObject().getOppositions()) {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
@ -284,12 +289,12 @@ public class ProjectFinalSeminarPanel extends Panel {
|
||||
|
||||
@Override
|
||||
public boolean isVisible() {
|
||||
return seminar.getActiveParticipations().size() == 0;
|
||||
return seminarModel.getObject().getActiveParticipations().size() == 0;
|
||||
}
|
||||
});
|
||||
|
||||
add(new ListView<FinalSeminarActiveParticipation>("activeParticipantsList",
|
||||
seminar.getActiveParticipations()) {
|
||||
seminarModel.getObject().getActiveParticipations()) {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
@ -301,7 +306,7 @@ public class ProjectFinalSeminarPanel extends Panel {
|
||||
|
||||
});
|
||||
|
||||
add(new SeminarDocumentUploadForm(seminar) {
|
||||
add(new SeminarDocumentUploadForm(seminarModel.getObject()) {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
@ -310,7 +315,7 @@ public class ProjectFinalSeminarPanel extends Panel {
|
||||
* Show when: - no report uploaded && finalSubmissionDate has
|
||||
* not passed && it's not a supervisor view
|
||||
*/
|
||||
return seminar.getDocument() == null
|
||||
return seminarModel.getObject().getDocument() == null
|
||||
/*
|
||||
* Still show the final submission deadline as 7 days prior to
|
||||
* seminar but allow upload until seminar takes place.
|
||||
@ -325,7 +330,7 @@ public class ProjectFinalSeminarPanel extends Panel {
|
||||
|
||||
@Override
|
||||
public boolean isVisible() {
|
||||
return finalSubmissionDate.before(new Date()) && seminar.getDocument() == null;
|
||||
return finalSubmissionDate.before(new Date()) && seminarModel.getObject().getDocument() == null;
|
||||
}
|
||||
};
|
||||
|
||||
@ -341,7 +346,7 @@ public class ProjectFinalSeminarPanel extends Panel {
|
||||
|
||||
@Override
|
||||
public boolean isVisible() {
|
||||
return seminar.getDocument() == null && finalSubmissionDate.after(new Date());
|
||||
return seminarModel.getObject().getDocument() == null && finalSubmissionDate.after(new Date());
|
||||
}
|
||||
};
|
||||
|
||||
@ -351,8 +356,8 @@ public class ProjectFinalSeminarPanel extends Panel {
|
||||
add(uploadDeadlineInfoContainer);
|
||||
}
|
||||
|
||||
public ProjectFinalSeminarPanel(final String id, final FinalSeminar seminar) {
|
||||
this(id, seminar, false);
|
||||
public ProjectFinalSeminarPanel(final String id, final Model<FinalSeminar> seminarModel) {
|
||||
this(id, seminarModel, false);
|
||||
}
|
||||
|
||||
private class SeminarDocumentUploadForm extends AbstractUploadForm {
|
||||
@ -411,7 +416,7 @@ public class ProjectFinalSeminarPanel extends Panel {
|
||||
*/
|
||||
private static final long serialVersionUID = 5882957818616996808L;
|
||||
|
||||
public EditForm(String name, final FinalSeminar seminar) {
|
||||
public EditForm(String name, final Model<FinalSeminar> seminarModel) {
|
||||
super(name);
|
||||
|
||||
add(new AjaxButton("edit", new Model<String>("Edit Final Seminar")) {
|
||||
@ -420,7 +425,7 @@ public class ProjectFinalSeminarPanel extends Panel {
|
||||
|
||||
@Override
|
||||
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
|
||||
FinalSeminar seminar2 = finalSeminarDao.reLoad(seminar);
|
||||
FinalSeminar seminar2 = finalSeminarDao.reLoad(seminarModel.getObject());
|
||||
editSeminarForm.removeAll();
|
||||
editSeminarForm.add(new EditFinalSeminarFormPanel("editSeminarDetails", seminar2, false));
|
||||
target.addComponent(editSeminarForm);
|
||||
|
Loading…
x
Reference in New Issue
Block a user