added recipient set for co-supervisors of active projects

This commit is contained in:
Emil Siverhall 2012-01-30 15:41:49 +01:00
parent bacc6bfcfe
commit 14e5b00533
3 changed files with 31 additions and 8 deletions
src/main/java/se/su/dsv/scipro

@ -11,7 +11,14 @@
<div class="append-bottom" wicket:id="radioChoices">
<input type="radio"/>
</div>
<form wicket:id="mailForm">
<a wicket:id="showList">Show/Hide recipients</a><br />
<select multiple wicket:id="emailList" size="15" class="span-8">
<option>Adam Adamsson (aaa@email)</option>
</select>
</div>
<div class="span-10">
<form wicket:id="mailForm">
<div>
<wicket:enclosure child="disabledLabel">
<div class="rounded-box">
@ -31,12 +38,6 @@
</form>
</div>
<div class="span-10">
<a wicket:id="showList">Show/Hide recipients</a><br />
<select multiple wicket:id="emailList" size="15" class="span-10">
<option>Adam Adamsson (aaa@email)</option>
</select>
</div>
</div>
</wicket:panel>
</body>

@ -59,6 +59,7 @@ public class AdminMailPanel extends Panel {
private final String SUPERVISOR_ALL_ACTIVE = "All supervisors with active projects";
private final String SUPERVISOR_CONFIRMED = "Supervisors with confirmed project ideas";
private final String SUPERVISOR_UNCONFIRMED = "Supervisors with project ideas waiting to be confirmed";
private final String ACTIVE_CO_SUPERVISORS = "Co-supervisors with active projects";
private final String ACTIVE_REVIEWERS = "Reviewers of active projects";
private final String NONE = "None";
private AjaxLink<String> showList;
@ -137,7 +138,7 @@ public class AdminMailPanel extends Panel {
}
private void setUpRadioButtons() {
List<String> options = Arrays.asList(new String[]{NONE,AUTHORS_ACTIVE_PROJECT,AUTHORS_ACTIVE_BACHELOR,AUTHORS_ACTIVE_MASTER,AUTHORS_CONFIRMED,AUTHORS_UNCONFIRMED,AUTHORS_REFUSED,SUPERVISOR_ALL,SUPERVISOR_ALL_ACTIVE,SUPERVISOR_CONFIRMED, SUPERVISOR_UNCONFIRMED, ACTIVE_REVIEWERS});
List<String> options = Arrays.asList(new String[]{NONE,AUTHORS_ACTIVE_PROJECT,AUTHORS_ACTIVE_BACHELOR,AUTHORS_ACTIVE_MASTER,AUTHORS_CONFIRMED,AUTHORS_UNCONFIRMED,AUTHORS_REFUSED,SUPERVISOR_ALL,SUPERVISOR_ALL_ACTIVE,SUPERVISOR_CONFIRMED, SUPERVISOR_UNCONFIRMED, ACTIVE_CO_SUPERVISORS, ACTIVE_REVIEWERS});
final RadioChoice<String> choice = new RadioChoice<String>("radioChoices",Model.of("None"), options);
//Default values, taken from RadioChoice constructor above (Model.of(your choice)).
@ -236,6 +237,9 @@ public class AdminMailPanel extends Panel {
else if(choiceInput.equals(ACTIVE_REVIEWERS)){
recipients = mailFacade.addActiveReviewers();
}
else if(choiceInput.equals(ACTIVE_CO_SUPERVISORS)){
recipients = mailFacade.addActiveCoSupervisors();
}
return recipients;
}
}

@ -93,6 +93,11 @@ public class MailFacade {
return supervisorsFromProjectIdeas();
}
public Set<User> addActiveCoSupervisors() {
setProjectParams(ProjectStatus.ACTIVE, null);
return coSupervisorsFromProjects();
}
public Set<User> addActiveReviewers() {
setProjectParams(ProjectStatus.ACTIVE, null);
return reviewersFromProjects();
@ -152,6 +157,18 @@ public class MailFacade {
return recipients;
}
private Set<User> coSupervisorsFromProjects() {
List<Project> listOfProjects = projectDao.findProjects(projectParams);
recipients = new HashSet<User>();
for (Project p : listOfProjects){
if(!p.getProjectCoSupervisors().isEmpty()){
for(ProjectFollower pf : p.getProjectReviewers())
recipients.add(pf.getFollower().getUser());
}
}
return recipients;
}
private Set<User> reviewersFromProjects() {
List<Project> listOProjects = projectDao.findProjects(projectParams);
recipients = new HashSet<User>();
@ -163,4 +180,5 @@ public class MailFacade {
}
return recipients;
}
}