From 09303ce3750b8b2b8be67577c88820eb8ff7e2e4 Mon Sep 17 00:00:00 2001 From: Fredrik Friis <fred-fri@dsv.su.se> Date: Thu, 1 Mar 2012 12:57:08 +0900 Subject: [PATCH] fixed some saves and changed projectfinalseminarpanel to use model instead of entity object --- .../panels/EditFinalSeminarFormPanel.java | 2 +- .../panels/ProjectFinalSeminarPanel.java | 91 ++++++++++--------- 2 files changed, 49 insertions(+), 44 deletions(-) diff --git a/src/main/java/se/su/dsv/scipro/opponent/panels/EditFinalSeminarFormPanel.java b/src/main/java/se/su/dsv/scipro/opponent/panels/EditFinalSeminarFormPanel.java index ae5ebd39a0..1142833385 100644 --- a/src/main/java/se/su/dsv/scipro/opponent/panels/EditFinalSeminarFormPanel.java +++ b/src/main/java/se/su/dsv/scipro/opponent/panels/EditFinalSeminarFormPanel.java @@ -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 diff --git a/src/main/java/se/su/dsv/scipro/opponent/panels/ProjectFinalSeminarPanel.java b/src/main/java/se/su/dsv/scipro/opponent/panels/ProjectFinalSeminarPanel.java index 90190c144e..55d97abd66 100644 --- a/src/main/java/se/su/dsv/scipro/opponent/panels/ProjectFinalSeminarPanel.java +++ b/src/main/java/se/su/dsv/scipro/opponent/panels/ProjectFinalSeminarPanel.java @@ -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);