fixed some saves and changed projectfinalseminarpanel to use model instead of entity object

This commit is contained in:
Fredrik Friis 2012-03-01 12:57:08 +09:00
parent eaedb5ec66
commit 09303ce375
2 changed files with 49 additions and 44 deletions
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);