added a new profile panel thats halfway done. todo: fix nullpointer for users who are not employees
This commit is contained in:
parent
06be88e3bc
commit
e1a8bb09cf
src/main/java/se/su/dsv/scipro/supervisor
@ -1,19 +1,25 @@
|
|||||||
package se.su.dsv.scipro.supervisor.pages;
|
package se.su.dsv.scipro.supervisor.pages;
|
||||||
|
|
||||||
import org.apache.wicket.PageParameters;
|
import org.apache.wicket.PageParameters;
|
||||||
|
import org.apache.wicket.model.Model;
|
||||||
import org.apache.wicket.spring.injection.annot.SpringBean;
|
import org.apache.wicket.spring.injection.annot.SpringBean;
|
||||||
|
import se.su.dsv.scipro.data.dataobjects.Employee;
|
||||||
|
import se.su.dsv.scipro.match.dao.interfaces.SupervisorDao;
|
||||||
import se.su.dsv.scipro.security.auth.Authorization;
|
import se.su.dsv.scipro.security.auth.Authorization;
|
||||||
import se.su.dsv.scipro.security.auth.roles.Roles;
|
import se.su.dsv.scipro.security.auth.roles.Roles;
|
||||||
|
import se.su.dsv.scipro.supervisor.panels.ProfilePanel;
|
||||||
import se.su.dsv.scipro.user.panels.UserProfilePanelFactory;
|
import se.su.dsv.scipro.user.panels.UserProfilePanelFactory;
|
||||||
|
|
||||||
@Authorization(authorizedRoles={Roles.EMPLOYEE})
|
@Authorization(authorizedRoles={Roles.EMPLOYEE})
|
||||||
//@Authorization(authorizedRoles={Roles.SYSADMIN})
|
//@Authorization(authorizedRoles={Roles.SYSADMIN})
|
||||||
public class SupervisorProfilePage extends AbstractSupervisorPage {
|
public class SupervisorProfilePage extends AbstractSupervisorPage {
|
||||||
@SpringBean
|
@SpringBean
|
||||||
|
SupervisorDao supervisorDao;
|
||||||
|
@SpringBean
|
||||||
private UserProfilePanelFactory factory;
|
private UserProfilePanelFactory factory;
|
||||||
public SupervisorProfilePage(final PageParameters pp){
|
public SupervisorProfilePage(final PageParameters pp){
|
||||||
super(pp);
|
super(pp);
|
||||||
add(factory.createUserProfilePanelForUser("supervisorProfile",getUser()));
|
//add(factory.createUserProfilePanelForUser("supervisorProfile",getUser()));
|
||||||
|
add(new ProfilePanel("supervisorProfile", new Model<Employee>(supervisorDao.getFrom(getUser()))));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,25 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html
|
||||||
|
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
|
||||||
|
<body>
|
||||||
|
<wicket:panel>
|
||||||
|
<form wicket:id="form">
|
||||||
|
<div class="append-bottom">
|
||||||
|
<label>Languages:</label>
|
||||||
|
<div wicket:id="languagelistview">
|
||||||
|
<span wicket:id="languagelabel"></span> <input type="checkbox"
|
||||||
|
wicket:id="languagecheckbox" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="append-bottom">
|
||||||
|
<label>Regular:</label>
|
||||||
|
<div wicket:id="regularlistview">
|
||||||
|
<span wicket:id="regularlabel"></span> <input type="checkbox"
|
||||||
|
wicket:id="regularcheckbox" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</form>
|
||||||
|
</wicket:panel>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,124 @@
|
|||||||
|
package se.su.dsv.scipro.supervisor.panels;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import org.apache.wicket.ajax.AjaxRequestTarget;
|
||||||
|
import org.apache.wicket.ajax.markup.html.form.AjaxCheckBox;
|
||||||
|
import org.apache.wicket.markup.html.basic.Label;
|
||||||
|
import org.apache.wicket.markup.html.form.Form;
|
||||||
|
import org.apache.wicket.markup.html.list.ListItem;
|
||||||
|
import org.apache.wicket.markup.html.list.ListView;
|
||||||
|
import org.apache.wicket.markup.html.panel.Panel;
|
||||||
|
import org.apache.wicket.model.Model;
|
||||||
|
import org.apache.wicket.spring.injection.annot.SpringBean;
|
||||||
|
|
||||||
|
import se.su.dsv.scipro.data.dao.interfaces.LanguageDao;
|
||||||
|
import se.su.dsv.scipro.data.dataobjects.Employee;
|
||||||
|
import se.su.dsv.scipro.data.dataobjects.Language;
|
||||||
|
import se.su.dsv.scipro.match.dao.interfaces.KeywordDao;
|
||||||
|
import se.su.dsv.scipro.match.dao.interfaces.KeywordTypeDao;
|
||||||
|
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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Author: fred
|
||||||
|
* Date: 2/24/12
|
||||||
|
* Time: 3:07 PM
|
||||||
|
*/
|
||||||
|
public class ProfilePanel extends Panel {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
public ProfilePanel(String id, Model<Employee> employeeModel) {
|
||||||
|
super(id);
|
||||||
|
add(new ProfileForm("form", employeeModel));
|
||||||
|
}
|
||||||
|
|
||||||
|
public class ProfileForm extends Form<Void> {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@SpringBean
|
||||||
|
LanguageDao languageDao;
|
||||||
|
@SpringBean
|
||||||
|
SupervisorDao employeeDao;
|
||||||
|
@SpringBean
|
||||||
|
KeywordTypeDao keywordTypeDao;
|
||||||
|
@SpringBean
|
||||||
|
KeywordDao keywordDao;
|
||||||
|
|
||||||
|
|
||||||
|
public ProfileForm(String id, final Model<Employee> employeeModel) {
|
||||||
|
super(id);
|
||||||
|
|
||||||
|
ListView<Language> languageListView = new ListView<Language>("languagelistview", languageDao.findAll()) {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void populateItem(ListItem<Language> item) {
|
||||||
|
final Language l = item.getModelObject();
|
||||||
|
item.add(new Label("languagelabel", l.getName()));
|
||||||
|
item.add(new AjaxCheckBox("languagecheckbox", new Model<Boolean>(employeeModel.getObject().getCapabilities().getLanguages().contains(l))){
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
@Override
|
||||||
|
protected void onUpdate(AjaxRequestTarget target) {
|
||||||
|
Set<Language> languages = employeeModel.getObject().getCapabilities().getLanguages();
|
||||||
|
if (getModelObject()==true){
|
||||||
|
languages.add(l);
|
||||||
|
System.out.println("added language " + l.getName());
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
languages.remove(l);
|
||||||
|
System.out.println("removed language " + l.getName());
|
||||||
|
}
|
||||||
|
employeeModel.getObject().getCapabilities().setLanguages(languages);
|
||||||
|
employeeModel.setObject(employeeDao.save(employeeModel.getObject()));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
add(languageListView);
|
||||||
|
|
||||||
|
|
||||||
|
final KeywordType regularType = keywordTypeDao.findByType(KeywordTypeDao.TYPE.REGULAR);
|
||||||
|
|
||||||
|
ListView<Keyword> regularListView = new ListView<Keyword>("regularlistview", new ArrayList<Keyword>(keywordDao.getKeywords(regularType, false))){
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
@Override
|
||||||
|
protected void populateItem(ListItem<Keyword> item) {
|
||||||
|
final Keyword kw = item.getModelObject();
|
||||||
|
item.add(new Label("regularlabel", kw.getKeyword()));
|
||||||
|
item.add(new AjaxCheckBox("regularcheckbox", new Model<Boolean>(employeeModel.getObject().getKeywords().getFiltered(regularType).contains(kw))){
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
@Override
|
||||||
|
protected void onUpdate(AjaxRequestTarget target) {
|
||||||
|
Set<Keyword> oldKeywords = new HashSet<Keyword>(employeeModel.getObject().getKeywords().getAll());
|
||||||
|
|
||||||
|
if (getModelObject()==true){
|
||||||
|
oldKeywords.add(kw);
|
||||||
|
System.out.println("added regular " + kw.getKeyword());
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
oldKeywords.remove(kw);
|
||||||
|
System.out.println("removed regular " + kw.getKeyword());
|
||||||
|
}
|
||||||
|
|
||||||
|
employeeModel.getObject().getKeywords().setKeywords(oldKeywords);
|
||||||
|
employeeModel.setObject(employeeDao.save(employeeModel.getObject()));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
add(regularListView);
|
||||||
|
|
||||||
|
// final KeywordType unitType = keywordTypeDao.findByType(KeywordTypeDao.TYPE.UNIT);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user