Uses notifications on uploading thesis, oppoistions and editig final
seminar Change-Id: I11b9787fb6f2bb11d471820d5a5f10d3f9fc3242
This commit is contained in:
parent
fdd0e8b6aa
commit
be51065103
src/main/java/se/su/dsv/scipro/opponent/panels
@ -26,12 +26,14 @@ import org.joda.time.format.DateTimeFormat;
|
||||
import org.joda.time.format.DateTimeFormatter;
|
||||
import org.odlabs.wiquery.ui.datepicker.DatePicker;
|
||||
|
||||
import se.su.dsv.scipro.admin.pages.AdminFinalSeminarPage;
|
||||
import se.su.dsv.scipro.components.autocomplete.AutoCompletionChoicesProvider;
|
||||
import se.su.dsv.scipro.components.autocomplete.MultiObjectAutoCompleteObjectConverter;
|
||||
import se.su.dsv.scipro.components.autocomplete.MultiObjectAutoCompleteRenderer;
|
||||
import se.su.dsv.scipro.components.autocomplete.UserProjectMultiObjectAutoCompleteBuilder;
|
||||
import se.su.dsv.scipro.components.autocomplete.UserProjectMultiObjectAutoCompleteField;
|
||||
import se.su.dsv.scipro.data.controllers.FinalSeminarUploadController;
|
||||
import se.su.dsv.scipro.data.controllers.NotificationController;
|
||||
import se.su.dsv.scipro.data.dao.interfaces.FinalSeminarActiveParticipationDao;
|
||||
import se.su.dsv.scipro.data.dao.interfaces.FinalSeminarDao;
|
||||
import se.su.dsv.scipro.data.dao.interfaces.FinalSeminarOppositionDao;
|
||||
@ -41,10 +43,14 @@ import se.su.dsv.scipro.data.dataobjects.FinalSeminar;
|
||||
import se.su.dsv.scipro.data.dataobjects.FinalSeminarActiveParticipation;
|
||||
import se.su.dsv.scipro.data.dataobjects.FinalSeminarOpposition;
|
||||
import se.su.dsv.scipro.data.dataobjects.Project;
|
||||
import se.su.dsv.scipro.data.dataobjects.ProjectFollower;
|
||||
import se.su.dsv.scipro.data.dataobjects.Student;
|
||||
import se.su.dsv.scipro.data.dataobjects.User;
|
||||
import se.su.dsv.scipro.data.enums.FinalSeminarLanguages;
|
||||
import se.su.dsv.scipro.data.enums.NotificationPriority;
|
||||
import se.su.dsv.scipro.opponent.models.OpponentModel;
|
||||
import se.su.dsv.scipro.project.pages.ProjectOppositionPage;
|
||||
import se.su.dsv.scipro.project.pages.ProjectStartPage;
|
||||
import se.su.dsv.scipro.supervisor.pages.SupervisorProjectsFinalSeminarPage;
|
||||
|
||||
/**
|
||||
@ -71,6 +77,9 @@ public class EditFinalSeminarFormPanel extends Panel {
|
||||
@SpringBean
|
||||
private FinalSeminarActiveParticipationDao finalSeminarActiveParticipationDao;
|
||||
|
||||
@SpringBean
|
||||
private NotificationController notificationController;
|
||||
|
||||
private FeedbackPanel feedbackPanel;
|
||||
private FinalSeminar editSeminar;
|
||||
private DatePicker<Date> startDateField;
|
||||
@ -81,16 +90,14 @@ public class EditFinalSeminarFormPanel extends Panel {
|
||||
private TextField<String> projectLabel;
|
||||
private DropDownChoice<FinalSeminarLanguages> presentationLanguage;
|
||||
private DropDownChoice<FinalSeminarLanguages> reportLanguage;
|
||||
private boolean admin;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public EditFinalSeminarFormPanel(final String id, final FinalSeminar seminar) {
|
||||
public EditFinalSeminarFormPanel(final String id, final FinalSeminar seminar,
|
||||
final boolean admin) {
|
||||
super(id);
|
||||
|
||||
this.admin = admin;
|
||||
add(new EditSeminarForm("editSeminarForm"));
|
||||
|
||||
|
||||
FinalSeminar seminar2 = finalSeminarDao.reLoad(seminar);
|
||||
editSeminar = seminar2;
|
||||
startDateField.setDefaultModelObject(seminar2.getStartDate());
|
||||
@ -159,7 +166,6 @@ public class EditFinalSeminarFormPanel extends Panel {
|
||||
super(name, new CompoundPropertyModel<OpponentModel>(new OpponentModel()));
|
||||
add(feedbackPanel = new FeedbackPanel("feedbackPanel"));
|
||||
feedbackPanel.setOutputMarkupId(true);
|
||||
|
||||
|
||||
add(projectLabel = new TextField<String>("project"));
|
||||
projectLabel.setEnabled(false);
|
||||
@ -231,7 +237,6 @@ public class EditFinalSeminarFormPanel extends Panel {
|
||||
|
||||
@Override
|
||||
public Iterator<FinalSeminarActiveParticipation> getChoices(String input) {
|
||||
// TODO Auto-generated method stub
|
||||
List<FinalSeminarActiveParticipation> active = new ArrayList<FinalSeminarActiveParticipation>();
|
||||
for (User user : userDao.findUserQuery(input, 10)) {
|
||||
FinalSeminarActiveParticipation ac = new FinalSeminarActiveParticipation();
|
||||
@ -381,8 +386,48 @@ public class EditFinalSeminarFormPanel extends Panel {
|
||||
}
|
||||
|
||||
}
|
||||
editSeminar = finalSeminarDao.reLoad(editSeminar);
|
||||
|
||||
setResponsePage(SupervisorProjectsFinalSeminarPage.class);
|
||||
for (ProjectFollower pf : editSeminar.getProject().getProjectFollowers()) {
|
||||
notificationController.createNotificationForFinalSeminarEdited(pf
|
||||
.getFollower().getUser(), editSeminar,
|
||||
NotificationPriority.MEDIUM, SupervisorProjectsFinalSeminarPage
|
||||
.getAbsoluteURL());
|
||||
|
||||
}
|
||||
for (Student student : editSeminar.getProject().getProjectParticipants()) {
|
||||
notificationController.createNotificationForFinalSeminarEdited(student
|
||||
.getUser(), editSeminar, NotificationPriority.HIGH,
|
||||
ProjectStartPage.getAbsoluteURL());
|
||||
|
||||
}
|
||||
|
||||
//This may not work dependent on matched by in data object hasnt updated
|
||||
for (FinalSeminarActiveParticipation pf : editSeminar
|
||||
.getActiveParticipations()) {
|
||||
notificationController.createNotificationForFinalSeminarEdited(pf
|
||||
.getUser(), editSeminar, NotificationPriority.MEDIUM,
|
||||
ProjectOppositionPage.getAbsoluteURL());
|
||||
}
|
||||
|
||||
//This may not work dependent on matched by in data object hasnt updated
|
||||
for (FinalSeminarOpposition pf : editSeminar.getOppositions()) {
|
||||
notificationController.createNotificationForFinalSeminarEdited(pf
|
||||
.getOpponent().getUser(), editSeminar,
|
||||
NotificationPriority.MEDIUM, ProjectOppositionPage.getAbsoluteURL());
|
||||
}
|
||||
|
||||
if (admin) {
|
||||
if (editSeminar.getProject().getHeadSupervisor() != null) {
|
||||
notificationController.createNotificationForFinalSeminarEdited(
|
||||
editSeminar.getProject().getHeadSupervisor().getUser(),
|
||||
editSeminar, NotificationPriority.HIGH,
|
||||
SupervisorProjectsFinalSeminarPage.getAbsoluteURL());
|
||||
}
|
||||
setResponsePage(AdminFinalSeminarPage.class);
|
||||
} else {
|
||||
setResponsePage(SupervisorProjectsFinalSeminarPage.class);
|
||||
}
|
||||
} else if (!notSameProject && error) {
|
||||
error("Opponent/Active participant is an author in the final seminar");
|
||||
error("Must select a Project for the Opponent/Active participant");
|
||||
@ -401,6 +446,5 @@ public class EditFinalSeminarFormPanel extends Panel {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -249,7 +249,7 @@ public class OpponentListViewPanel extends Panel {
|
||||
|
||||
public EditSeminarForm(String name) {
|
||||
super(name, new CompoundPropertyModel<OpponentModel>(new OpponentModel()));
|
||||
editSeminarDialog.setTitle("Edit Seminar");
|
||||
editSeminarDialog.setTitle("Edit Final Seminar");
|
||||
add(new EmptyPanel("editSeminarDetails"));
|
||||
}
|
||||
}
|
||||
@ -272,7 +272,7 @@ public class OpponentListViewPanel extends Panel {
|
||||
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
|
||||
FinalSeminar seminar2 = finalSeminarDao.reLoad(seminar);
|
||||
editSeminarForm.removeAll();
|
||||
editSeminarForm.add(new EditFinalSeminarFormPanel("editSeminarDetails", seminar2));
|
||||
editSeminarForm.add(new EditFinalSeminarFormPanel("editSeminarDetails", seminar2, true));
|
||||
target.addComponent(editSeminarForm);
|
||||
editSeminarDialog.open(target);
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
|
||||
<body>
|
||||
<wicket:panel>
|
||||
<p><a href="#" wicket:id="addSeminar">Create Seminar</a></p>
|
||||
<p><a href="#" wicket:id="addSeminar">Create Final Seminar</a></p>
|
||||
<div wicket:id="dialog">
|
||||
<div wicket:id="dialogContainer">
|
||||
<form wicket:id="addSeminarForm">
|
||||
|
@ -34,6 +34,7 @@ import se.su.dsv.scipro.components.autocomplete.MultiObjectAutoCompleteObjectCon
|
||||
import se.su.dsv.scipro.components.autocomplete.MultiObjectAutoCompleteRenderer;
|
||||
import se.su.dsv.scipro.components.autocomplete.UserProjectMultiObjectAutoCompleteBuilder;
|
||||
import se.su.dsv.scipro.components.autocomplete.UserProjectMultiObjectAutoCompleteField;
|
||||
import se.su.dsv.scipro.data.controllers.NotificationController;
|
||||
import se.su.dsv.scipro.data.dao.interfaces.FinalSeminarDao;
|
||||
import se.su.dsv.scipro.data.dao.interfaces.FinalSeminarOppositionDao;
|
||||
import se.su.dsv.scipro.data.dao.interfaces.ProjectClassDao;
|
||||
@ -45,10 +46,14 @@ import se.su.dsv.scipro.data.dataobjects.FinalSeminarActiveParticipation;
|
||||
import se.su.dsv.scipro.data.dataobjects.FinalSeminarOpposition;
|
||||
import se.su.dsv.scipro.data.dataobjects.Project;
|
||||
import se.su.dsv.scipro.data.dataobjects.ProjectClass;
|
||||
import se.su.dsv.scipro.data.dataobjects.ProjectFollower;
|
||||
import se.su.dsv.scipro.data.dataobjects.Student;
|
||||
import se.su.dsv.scipro.data.dataobjects.User;
|
||||
import se.su.dsv.scipro.data.enums.FinalSeminarLanguages;
|
||||
import se.su.dsv.scipro.data.enums.NotificationPriority;
|
||||
import se.su.dsv.scipro.opponent.models.OpponentModel;
|
||||
import se.su.dsv.scipro.project.pages.ProjectOppositionPage;
|
||||
import se.su.dsv.scipro.project.pages.ProjectStartPage;
|
||||
import se.su.dsv.scipro.security.auth.MetaDataActionStrategy;
|
||||
import se.su.dsv.scipro.security.auth.roles.Roles;
|
||||
import se.su.dsv.scipro.supervisor.pages.SupervisorProjectsFinalSeminarPage;
|
||||
@ -80,6 +85,9 @@ public class OpponentPanel extends Panel {
|
||||
@SpringBean
|
||||
private FinalSeminarOppositionDao finalSeminarOppositionDao;
|
||||
|
||||
@SpringBean
|
||||
NotificationController notificationController;
|
||||
|
||||
private Project project;
|
||||
|
||||
public OpponentPanel(String id, Project project) {
|
||||
@ -96,13 +104,12 @@ public class OpponentPanel extends Panel {
|
||||
addSeminarDialogContainer.add(new AddSeminarForm("addSeminarForm"));
|
||||
|
||||
AjaxLink<String> addSeminar;
|
||||
add(addSeminar = new AjaxLink<String>("addSeminar", new Model<String>(
|
||||
"Create Seminar")) {
|
||||
add(addSeminar = new AjaxLink<String>("addSeminar", new Model<String>("Create Seminar")) {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 1L;
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
public void onClick(AjaxRequestTarget target) {
|
||||
@ -121,15 +128,14 @@ public class OpponentPanel extends Panel {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public AddSeminarForm(String name) {
|
||||
super(name, new CompoundPropertyModel<OpponentModel>(
|
||||
new OpponentModel()));
|
||||
final WebMarkupContainer feedbackContainer = new WebMarkupContainer(
|
||||
"feedbackContainer");
|
||||
super(name, new CompoundPropertyModel<OpponentModel>(new OpponentModel()));
|
||||
final WebMarkupContainer feedbackContainer = new WebMarkupContainer("feedbackContainer");
|
||||
project = projectDao.reLoad(project);
|
||||
feedbackContainer.setOutputMarkupId(true);
|
||||
|
||||
//ComponentFeedbackPanel fungerade inte
|
||||
WebMarkupContainer feedbackPanel = new FormFeedbackPanel<OpponentModel>("feedbackPanel", this);
|
||||
|
||||
// ComponentFeedbackPanel fungerade inte
|
||||
WebMarkupContainer feedbackPanel = new FormFeedbackPanel<OpponentModel>(
|
||||
"feedbackPanel", this);
|
||||
feedbackContainer.add(feedbackPanel);
|
||||
add(feedbackContainer);
|
||||
|
||||
@ -138,7 +144,7 @@ public class OpponentPanel extends Panel {
|
||||
add(projectLabel = new TextField<String>("project"));
|
||||
projectLabel.setEnabled(false);
|
||||
projectLabel.setDefaultModelObject(project.getTitle(30));
|
||||
|
||||
|
||||
DatePicker<Date> startDateField = new DatePicker<Date>("date") {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
@ -167,47 +173,49 @@ public class OpponentPanel extends Panel {
|
||||
add(room = new TextField<String>("room"));
|
||||
room.setRequired(true);
|
||||
add(startDateField);
|
||||
|
||||
String[] hourArray = new String[] { "00", "01", "02", "03", "04",
|
||||
"05", "06", "07", "08", "09", "10", "11", "12",
|
||||
"13", "14", "15", "16", "17", "18", "19", "20",
|
||||
|
||||
String[] hourArray = new String[] { "00", "01", "02", "03", "04", "05", "06", "07",
|
||||
"08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20",
|
||||
"21", "22", "23" };
|
||||
|
||||
String[] minuteArray = new String[] { "00", "05", "10",
|
||||
"15", "20", "25", "30", "35", "40", "45", "50",
|
||||
"55" };
|
||||
|
||||
String[] minuteArray = new String[] { "00", "05", "10", "15", "20", "25", "30", "35",
|
||||
"40", "45", "50", "55" };
|
||||
|
||||
DropDownChoice<String> hour = new DropDownChoice<String>("startHour",
|
||||
Arrays.asList(hourArray));
|
||||
add(hour);
|
||||
hour.setRequired(false);
|
||||
DropDownChoice<String> minute = new DropDownChoice<String>(
|
||||
"startMinute", Arrays.asList(minuteArray));
|
||||
DropDownChoice<String> minute = new DropDownChoice<String>("startMinute",
|
||||
Arrays.asList(minuteArray));
|
||||
add(minute);
|
||||
minute.setRequired(false);
|
||||
|
||||
|
||||
DropDownChoice<String> endHour = new DropDownChoice<String>("endHour",
|
||||
Arrays.asList(hourArray));
|
||||
add(endHour);
|
||||
endHour.setRequired(false);
|
||||
DropDownChoice<String> endMinute = new DropDownChoice<String>(
|
||||
"endMinute", Arrays.asList(minuteArray));
|
||||
DropDownChoice<String> endMinute = new DropDownChoice<String>("endMinute",
|
||||
Arrays.asList(minuteArray));
|
||||
add(endMinute);
|
||||
endMinute.setRequired(false);
|
||||
|
||||
List<FinalSeminarLanguages> languageOptions = new ArrayList<FinalSeminarLanguages>( Arrays.asList(FinalSeminarLanguages.values()) );
|
||||
|
||||
List<FinalSeminarLanguages> languageOptions = new ArrayList<FinalSeminarLanguages>(
|
||||
Arrays.asList(FinalSeminarLanguages.values()));
|
||||
|
||||
FinalSeminarLanguages defaultValue = FinalSeminarLanguages.ENGLISH;
|
||||
if(project.getProjectClass().getCode().equals(ProjectClass.BACHELOR)){ //Sorry for ugly hard-code, this had to be done and deployed in an afternoon
|
||||
// Sorry for ugly hard-code, this had to be deployed in an afternoon
|
||||
if (project.getProjectClass().getCode().equals(ProjectClass.BACHELOR)) {
|
||||
defaultValue = FinalSeminarLanguages.SWEDISH;
|
||||
}
|
||||
|
||||
DropDownChoice<FinalSeminarLanguages> presentationLanguage = new DropDownChoice<FinalSeminarLanguages>("presentationLanguage", languageOptions );
|
||||
|
||||
DropDownChoice<FinalSeminarLanguages> presentationLanguage = new DropDownChoice<FinalSeminarLanguages>(
|
||||
"presentationLanguage", languageOptions);
|
||||
add(presentationLanguage);
|
||||
presentationLanguage.setModelObject(defaultValue);
|
||||
presentationLanguage.setRequired(true);
|
||||
|
||||
DropDownChoice<FinalSeminarLanguages> reportLanguage = new DropDownChoice<FinalSeminarLanguages>("reportLanguage", languageOptions );
|
||||
|
||||
DropDownChoice<FinalSeminarLanguages> reportLanguage = new DropDownChoice<FinalSeminarLanguages>(
|
||||
"reportLanguage", languageOptions);
|
||||
add(reportLanguage);
|
||||
reportLanguage.setModelObject(defaultValue);
|
||||
reportLanguage.setRequired(true);
|
||||
@ -243,8 +251,8 @@ public class OpponentPanel extends Panel {
|
||||
|
||||
public String getTextValue(FinalSeminarActiveParticipation al) {
|
||||
User u = al.getUser();
|
||||
return u.getFirstName() + " " + u.getLastName() + " <"
|
||||
+ u.getEmailAddress() + ">";
|
||||
return u.getFirstName() + " " + u.getLastName() + " <" + u.getEmailAddress()
|
||||
+ ">";
|
||||
}
|
||||
|
||||
protected String getIdValue(FinalSeminarActiveParticipation al) {
|
||||
@ -280,31 +288,26 @@ public class OpponentPanel extends Panel {
|
||||
|
||||
@Override
|
||||
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
|
||||
OpponentModel opponentModel = (OpponentModel) form
|
||||
.getDefaultModelObject();
|
||||
OpponentModel opponentModel = (OpponentModel) form.getDefaultModelObject();
|
||||
boolean notSameProject = true;
|
||||
boolean error = false;
|
||||
project = projectDao.reLoad(project);
|
||||
for (Student student : project.getProjectParticipants()) {
|
||||
if (!notSameProject)
|
||||
break;
|
||||
for (FinalSeminarActiveParticipation al : opponentModel
|
||||
.getOpponentList()) {
|
||||
if (student.getUser().equals(al.getUser())
|
||||
&& !al.isPreDeleted()) {
|
||||
for (FinalSeminarActiveParticipation al : opponentModel.getOpponentList()) {
|
||||
if (student.getUser().equals(al.getUser()) && !al.isPreDeleted()) {
|
||||
notSameProject = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (project.getProjectClass().equals(
|
||||
projectClassDao
|
||||
.getProjectClass(ProjectClass.UNKNOWN))) {
|
||||
projectClassDao.getProjectClass(ProjectClass.UNKNOWN))) {
|
||||
error = true;
|
||||
}
|
||||
for (FinalSeminarActiveParticipation al : opponentModel.getOpponentList()) {
|
||||
if (al.getProject() == null
|
||||
&& !al.isPreDeleted()) {
|
||||
if (al.getProject() == null && !al.isPreDeleted()) {
|
||||
error = true;
|
||||
break;
|
||||
}
|
||||
@ -315,42 +318,54 @@ public class OpponentPanel extends Panel {
|
||||
Date date = opponentModel.getDate();
|
||||
Calendar cal = Calendar.getInstance();
|
||||
cal.setTime(date);
|
||||
cal.set(Calendar.HOUR_OF_DAY,
|
||||
Integer.valueOf(opponentModel.getStartHour()));
|
||||
cal.set(Calendar.MINUTE,
|
||||
Integer.valueOf(opponentModel.getStartMinute()));
|
||||
cal.set(Calendar.HOUR_OF_DAY, Integer.valueOf(opponentModel.getStartHour()));
|
||||
cal.set(Calendar.MINUTE, Integer.valueOf(opponentModel.getStartMinute()));
|
||||
seminar.setStartDate(cal.getTime());
|
||||
|
||||
|
||||
Calendar endCal = Calendar.getInstance();
|
||||
endCal.setTime(date);
|
||||
endCal.set(Calendar.HOUR_OF_DAY,
|
||||
Integer.valueOf(opponentModel.getEndHour()));
|
||||
endCal.set(Calendar.MINUTE,
|
||||
Integer.valueOf(opponentModel.getEndMinute()));
|
||||
endCal.set(Calendar.MINUTE, Integer.valueOf(opponentModel.getEndMinute()));
|
||||
seminar.setEndDate(endCal.getTime());
|
||||
|
||||
|
||||
|
||||
seminar.setProject(project);
|
||||
seminar.setRoom(opponentModel.getRoom());
|
||||
|
||||
|
||||
seminar.setReportLanguage(opponentModel.getReportLanguage());
|
||||
seminar.setPresentationLanguage(opponentModel.getPresentationLanguage());
|
||||
|
||||
seminar = finalSeminarDao.save(seminar);
|
||||
|
||||
for (FinalSeminarActiveParticipation al : opponentModel
|
||||
.getOpponentList()) {
|
||||
|
||||
for (FinalSeminarActiveParticipation al : opponentModel.getOpponentList()) {
|
||||
|
||||
if (!al.isPreDeleted()) {
|
||||
FinalSeminarOpposition opposition1 = new FinalSeminarOpposition();
|
||||
opposition1.setOpponent(roleDao.makeStudent(al
|
||||
.getUser()));
|
||||
opposition1.setOpponent(roleDao.makeStudent(al.getUser()));
|
||||
opposition1.setProject(al.getProject());
|
||||
opposition1.setFinalSeminar(seminar);
|
||||
opposition1 = finalSeminarOppositionDao
|
||||
.save(opposition1);
|
||||
opposition1 = finalSeminarOppositionDao.save(opposition1);
|
||||
}
|
||||
}
|
||||
seminar = finalSeminarDao.reLoad(seminar);
|
||||
for (Student student : project.getProjectParticipants()) {
|
||||
notificationController.createNotificationForCreateFinalSeminar(
|
||||
student.getUser(), seminar, NotificationPriority.HIGH,
|
||||
ProjectStartPage.getAbsoluteURL(), false);
|
||||
}
|
||||
|
||||
for (ProjectFollower pf : project.getProjectFollowers()) {
|
||||
notificationController.createNotificationForCreateFinalSeminar(pf
|
||||
.getFollower().getUser(), seminar, NotificationPriority.HIGH,
|
||||
SupervisorProjectsFinalSeminarPage.getAbsoluteURL(), false);
|
||||
}
|
||||
|
||||
// This doesn't load must reload seminar in som way to get it.
|
||||
for (FinalSeminarOpposition pf : seminar.getOppositions()) {
|
||||
notificationController.createNotificationForCreateFinalSeminar(pf
|
||||
.getOpponent().getUser(), seminar, NotificationPriority.HIGH,
|
||||
ProjectOppositionPage.getAbsoluteURL(), true);
|
||||
}
|
||||
setResponsePage(SupervisorProjectsFinalSeminarPage.class);
|
||||
} else if (!notSameProject && error) {
|
||||
error("Opponent is an author in the final seminar");
|
||||
@ -358,18 +373,18 @@ public class OpponentPanel extends Panel {
|
||||
} else if (notSameProject && error) {
|
||||
error("Must choose a project group for opponent");
|
||||
error("Unknown project class for the project and/or must select a Project for opponent");
|
||||
} else {
|
||||
} else {
|
||||
error("Opponent is an author in the final seminar");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onError(final AjaxRequestTarget target,
|
||||
final Form<?> form) {
|
||||
protected void onError(final AjaxRequestTarget target, final Form<?> form) {
|
||||
target.addComponent(feedbackContainer);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -404,7 +404,7 @@ public class ProjectFinalSeminarPanel extends Panel {
|
||||
|
||||
public EditSeminarForm(String name) {
|
||||
super(name, new CompoundPropertyModel<OpponentModel>(new OpponentModel()));
|
||||
editSeminarDialog.setTitle("Edit Seminar");
|
||||
editSeminarDialog.setTitle("Edit Final Seminar");
|
||||
add(new EmptyPanel("editSeminarDetails"));
|
||||
}
|
||||
}
|
||||
@ -419,7 +419,7 @@ public class ProjectFinalSeminarPanel extends Panel {
|
||||
public EditForm(String name, final FinalSeminar seminar) {
|
||||
super(name);
|
||||
|
||||
add(new AjaxButton("edit", new Model<String>("Edit Seminar")) {
|
||||
add(new AjaxButton("edit", new Model<String>("Edit Final Seminar")) {
|
||||
|
||||
private static final long serialVersionUID = 4575255075365450180L;
|
||||
|
||||
@ -427,7 +427,7 @@ public class ProjectFinalSeminarPanel extends Panel {
|
||||
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
|
||||
FinalSeminar seminar2 = finalSeminarDao.reLoad(seminar);
|
||||
editSeminarForm.removeAll();
|
||||
editSeminarForm.add(new EditFinalSeminarFormPanel("editSeminarDetails", seminar2));
|
||||
editSeminarForm.add(new EditFinalSeminarFormPanel("editSeminarDetails", seminar2, false));
|
||||
target.addComponent(editSeminarForm);
|
||||
editSeminarDialog.open(target);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user