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