Mail notification priority setting is moved from user settings to supervisor profile
This commit is contained in:
parent
33d658e5f9
commit
7207b0cef9
src/main/java/se/su/dsv/scipro
@ -0,0 +1,13 @@
|
||||
<!DOCTYPE html>
|
||||
<html
|
||||
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
|
||||
<body>
|
||||
<wicket:panel>
|
||||
<div class="prepend-top span-10 last">
|
||||
<div><b>What mail do you want mail notifications for?</b></div>
|
||||
<div wicket:id="notificationPriority"><input type="radio" />
|
||||
</div>
|
||||
</div>
|
||||
</wicket:panel>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,60 @@
|
||||
package se.su.dsv.scipro.settings.panels;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.wicket.ajax.AjaxRequestTarget;
|
||||
import org.apache.wicket.ajax.form.AjaxFormChoiceComponentUpdatingBehavior;
|
||||
import org.apache.wicket.markup.html.form.RadioChoice;
|
||||
import org.apache.wicket.markup.html.panel.Panel;
|
||||
import org.apache.wicket.model.Model;
|
||||
import org.apache.wicket.model.PropertyModel;
|
||||
import org.apache.wicket.spring.injection.annot.SpringBean;
|
||||
|
||||
import se.su.dsv.scipro.data.dao.interfaces.UserSettingsDao;
|
||||
import se.su.dsv.scipro.data.dataobjects.Employee;
|
||||
import se.su.dsv.scipro.data.dataobjects.User;
|
||||
import se.su.dsv.scipro.data.dataobjects.UserSettings;
|
||||
import se.su.dsv.scipro.data.enums.NotificationPriority;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Martin Peters - mpeters@dsv.su.se
|
||||
*
|
||||
*/
|
||||
public class NotificationPriorityPanel extends Panel {
|
||||
|
||||
|
||||
private static final long serialVersionUID = 7252421318647800130L;
|
||||
@SpringBean
|
||||
private UserSettingsDao userSettingsDao;
|
||||
private UserSettings userSettings;
|
||||
|
||||
public NotificationPriorityPanel(String id, final Model<Employee> employeeModel) {
|
||||
super(id);
|
||||
User employee = employeeModel.getObject().getUser();
|
||||
userSettings = userSettingsDao.getUserSettings(employee);
|
||||
if(userSettings == null) {
|
||||
userSettings = new UserSettings(employee);
|
||||
userSettings = userSettingsDao.save(userSettings);
|
||||
}
|
||||
NotificationPriority[] array = NotificationPriority.values();
|
||||
List<NotificationPriority> notificationPriorities = new ArrayList<NotificationPriority>(Arrays.asList(array));
|
||||
|
||||
final RadioChoice<NotificationPriority> radioChoice = new RadioChoice<NotificationPriority>("notificationPriority", new PropertyModel<NotificationPriority>(userSettings, "notificationPriority"), notificationPriorities );
|
||||
radioChoice.add(new AjaxFormChoiceComponentUpdatingBehavior() {
|
||||
|
||||
private static final long serialVersionUID = 771831218965227566L;
|
||||
|
||||
protected void onUpdate(AjaxRequestTarget target) {
|
||||
userSettings.setNotificationPriority(radioChoice.getModelObject());
|
||||
userSettings = userSettingsDao.save(userSettings);
|
||||
|
||||
}
|
||||
});
|
||||
add(radioChoice);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -13,11 +13,6 @@
|
||||
</wicket:enclosure>
|
||||
<i><span wicket:id="noProjectLabel">No projects available..</span></i>
|
||||
</div>
|
||||
<div class="span-10 last append-bottom">
|
||||
<div>What mail do you want mail notifications for?</div>
|
||||
<div wicket:id="notificationPriority"><input type="radio" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="span-10 last">
|
||||
<button type="submit" > Save changes</button>
|
||||
</div>
|
||||
|
@ -1,13 +1,11 @@
|
||||
package se.su.dsv.scipro.settings.panels;
|
||||
|
||||
import edu.emory.mathcs.backport.java.util.Arrays;
|
||||
import org.apache.wicket.ajax.AjaxRequestTarget;
|
||||
import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
|
||||
import org.apache.wicket.markup.html.basic.Label;
|
||||
import org.apache.wicket.markup.html.form.DropDownChoice;
|
||||
import org.apache.wicket.markup.html.form.Form;
|
||||
import org.apache.wicket.markup.html.form.IChoiceRenderer;
|
||||
import org.apache.wicket.markup.html.form.RadioChoice;
|
||||
import org.apache.wicket.markup.html.panel.Panel;
|
||||
import org.apache.wicket.model.CompoundPropertyModel;
|
||||
import org.apache.wicket.model.IModel;
|
||||
@ -18,7 +16,6 @@ import se.su.dsv.scipro.data.dao.interfaces.ProjectDao;
|
||||
import se.su.dsv.scipro.data.dao.interfaces.UserSettingsDao;
|
||||
import se.su.dsv.scipro.data.dataobjects.Project;
|
||||
import se.su.dsv.scipro.data.dataobjects.UserSettings;
|
||||
import se.su.dsv.scipro.data.enums.NotificationPriority;
|
||||
import se.su.dsv.scipro.data.enums.ProjectStatus;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -94,26 +91,6 @@ public class UserSettingsPanel extends Panel {
|
||||
Label noProjectLabel = new Label("noProjectLabel","You are not registered as an author on any projects");
|
||||
add(noProjectLabel);
|
||||
noProjectLabel.setVisible(userProjects.isEmpty());
|
||||
|
||||
NotificationPriority[] array = NotificationPriority.values();
|
||||
@SuppressWarnings("unchecked") List<NotificationPriority> notificationPriorities = new ArrayList<NotificationPriority>(Arrays.asList(array));
|
||||
|
||||
final RadioChoice<NotificationPriority> radioChoice = new RadioChoice<NotificationPriority>("notificationPriority", new PropertyModel<NotificationPriority>(userSettings, "notificationPriority"), notificationPriorities );
|
||||
radioChoice.add(new AjaxFormComponentUpdatingBehavior("onchange") {
|
||||
|
||||
private static final long serialVersionUID = 771831218965227566L;
|
||||
|
||||
protected void onUpdate(AjaxRequestTarget target) {
|
||||
if(userSettings == null){
|
||||
userSettings = new UserSettings(SciProSession.get().getUser());
|
||||
userSettings.setNotificationPriority(NotificationPriority.LOW);
|
||||
}
|
||||
else {
|
||||
userSettings.setNotificationPriority(radioChoice.getModelObject());
|
||||
}
|
||||
}
|
||||
});
|
||||
add(radioChoice);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -38,6 +38,7 @@
|
||||
<div class="span-22 last">
|
||||
<div wicket:id="skwp"></div>
|
||||
</div>
|
||||
<div wicket:id="priorityPanel"></div>
|
||||
|
||||
|
||||
</form>
|
||||
|
@ -27,6 +27,7 @@ import se.su.dsv.scipro.match.dao.interfaces.SupervisorDao;
|
||||
import se.su.dsv.scipro.match.dataobject.Keyword;
|
||||
import se.su.dsv.scipro.match.dataobject.KeywordType;
|
||||
import se.su.dsv.scipro.match.dataobject.Match.Type;
|
||||
import se.su.dsv.scipro.settings.panels.NotificationPriorityPanel;
|
||||
|
||||
/**
|
||||
* Author: fred
|
||||
@ -152,6 +153,7 @@ public class ProfilePanel extends Panel {
|
||||
}
|
||||
|
||||
});
|
||||
add(new NotificationPriorityPanel("priorityPanel", employeeModel));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user