Added a check that interest not is already added before saving supervisor interest to the database table.
This commit is contained in:
parent
79d856ebea
commit
ec76c00210
@ -1,9 +1,9 @@
|
||||
package se.su.dsv.scipro.supervisor.panels;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.apache.wicket.ajax.AjaxRequestTarget;
|
||||
import org.apache.wicket.ajax.markup.html.AjaxLink;
|
||||
import org.apache.wicket.markup.html.WebMarkupContainer;
|
||||
import org.apache.wicket.markup.html.basic.Label;
|
||||
import org.apache.wicket.markup.html.form.Form;
|
||||
import org.apache.wicket.markup.html.form.TextArea;
|
||||
import org.apache.wicket.markup.html.panel.Panel;
|
||||
@ -25,7 +25,9 @@ import java.util.List;
|
||||
|
||||
public abstract class SupervisorInterestPanel extends Panel {
|
||||
|
||||
private final Logger logger = Logger.getLogger(SupervisorInterestPanel.class);
|
||||
private static final long serialVersionUID = 7164999234242995192L;
|
||||
|
||||
@SpringBean
|
||||
private ProjectIdeaDao projectIdeaDao;
|
||||
|
||||
@ -33,7 +35,7 @@ public abstract class SupervisorInterestPanel extends Panel {
|
||||
private GeneralSystemSettingsDao gDao;
|
||||
|
||||
@SpringBean
|
||||
SupervisorDao employeeDao;
|
||||
SupervisorDao supervisorDao;
|
||||
|
||||
public abstract void onUpdate(AjaxRequestTarget target);
|
||||
|
||||
@ -46,18 +48,16 @@ public abstract class SupervisorInterestPanel extends Panel {
|
||||
return projectIdeaDao.load(projectIdeaIModel.getObject().getId());
|
||||
}
|
||||
};
|
||||
add(new SupervisorAcceptDeclineForm("form", projectIdeaModel));
|
||||
add(new SupervisorAcceptDeclineForm(projectIdeaModel));
|
||||
}
|
||||
|
||||
private class SupervisorAcceptDeclineForm extends Form<Void> {
|
||||
private static final long serialVersionUID = -3157033328235572033L;
|
||||
private TextArea<String> reason;
|
||||
private final TextArea<String> reason;
|
||||
private String reasonString;
|
||||
private LoadableDetachableModel<ProjectIdea> projectIdeaModel;
|
||||
|
||||
public SupervisorAcceptDeclineForm(String id, final LoadableDetachableModel<ProjectIdea> projectIdeaModel) {
|
||||
super(id);
|
||||
this.projectIdeaModel = projectIdeaModel;
|
||||
public SupervisorAcceptDeclineForm(final LoadableDetachableModel<ProjectIdea> projectIdeaModel) {
|
||||
super("form");
|
||||
WebMarkupContainer wmc1 = new WebMarkupContainer("wmc1");
|
||||
add(wmc1);
|
||||
wmc1.add(new AjaxLink("acceptButton") {
|
||||
@ -65,18 +65,24 @@ public abstract class SupervisorInterestPanel extends Panel {
|
||||
private static final long serialVersionUID = -2591216055201410154L;
|
||||
@Override
|
||||
public void onClick(AjaxRequestTarget target) {
|
||||
if (reason.getModelObject() != null && reason.getModelObject().length() > 4) {
|
||||
// here we should save the reason for the interest in some table
|
||||
//if (reason.getModelObject() != null && reason.getModelObject().length() > 4) {
|
||||
//here we should save the reason for the interest in some table
|
||||
//}
|
||||
SupervisorInterest existingSupervisorInterest = projectIdeaModel.getObject().getSupervisorInterest();
|
||||
List<Employee> existingEmployees = existingSupervisorInterest.getSupervisorInterest();
|
||||
Employee employee = supervisorDao.getFrom(SciProSession.get().getUser());
|
||||
if(existingEmployees.isEmpty() || !existingEmployees.contains(employee)) {
|
||||
SupervisorInterest supervisorInterest = new SupervisorInterest();
|
||||
List<Employee> employeeList = new ArrayList<Employee>();
|
||||
employeeList.add(employee);
|
||||
supervisorInterest.setSupervisorInterest(employeeList);
|
||||
projectIdeaModel.getObject().setSupervisorInterest(supervisorInterest);
|
||||
projectIdeaDao.save(projectIdeaModel.getObject());
|
||||
onUpdate(target);
|
||||
logger.info("Added interest for the supervisor" + employee.getNameAsString() + " to supervise the project idea " + projectIdeaModel.getObject().getTitle());
|
||||
} else {
|
||||
logger.info("Interest already added for the supervisor " + employee.getNameAsString() + " to supervise the project idea " + projectIdeaModel.getObject().getTitle());
|
||||
}
|
||||
SupervisorInterest supervisorInterest = new SupervisorInterest();
|
||||
List<Employee> employeeList = new ArrayList<Employee>();
|
||||
Employee employee = employeeDao.getFrom(SciProSession.get().getUser());
|
||||
employeeList.add(employee);
|
||||
supervisorInterest.setSupervisorInterest(employeeList);
|
||||
projectIdeaModel.getObject().setSupervisorInterest(supervisorInterest);
|
||||
projectIdeaDao.save(projectIdeaModel.getObject());
|
||||
onUpdate(target);
|
||||
System.out.println("added interest from supervisor to supervise the project idea");
|
||||
}
|
||||
});
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user