almost finished, just need to put the active on the right an inactive on the left
This commit is contained in:
parent
44b25c139e
commit
50069ca7eb
src/main/java/se/su/dsv/scipro/supervisor
@ -1,8 +1,10 @@
|
||||
package se.su.dsv.scipro.supervisor.pages;
|
||||
|
||||
import org.apache.wicket.PageParameters;
|
||||
import org.apache.wicket.markup.html.panel.EmptyPanel;
|
||||
import org.apache.wicket.model.Model;
|
||||
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;
|
||||
@ -20,12 +22,11 @@ public class SupervisorProfilePage extends AbstractSupervisorPage {
|
||||
public SupervisorProfilePage(final PageParameters pp){
|
||||
super(pp);
|
||||
//add(factory.createUserProfilePanelForUser("supervisorProfile",getUser()));
|
||||
if (supervisorDao.getFrom(e)){
|
||||
|
||||
}get
|
||||
else {
|
||||
|
||||
if (supervisorDao.getFrom(getUser()) == null){
|
||||
add(new EmptyPanel("supervisorProfile"));
|
||||
}
|
||||
else {
|
||||
add(new ProfilePanel("supervisorProfile", new Model<Employee>(supervisorDao.getFrom(getUser()))));
|
||||
}
|
||||
add(new ProfilePanel("supervisorProfile", new Model<Employee>(supervisorDao.getFrom(getUser()))));
|
||||
}
|
||||
}
|
||||
|
@ -5,20 +5,39 @@
|
||||
<wicket:panel>
|
||||
<form wicket:id="form">
|
||||
<div class="append-bottom">
|
||||
<label>Languages:</label>
|
||||
<label>Unit:</label>
|
||||
<div wicket:id="unitlabel"></div>
|
||||
</div>
|
||||
<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" />
|
||||
<label>Research areas: </label>
|
||||
<div wicket:id="arealistview">
|
||||
<span wicket:id="arealabel"></span> <input type="checkbox"
|
||||
wicket:id="areacheckbox" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div wicket:id="regularcontainer">
|
||||
<div class="append-bottom">
|
||||
<label>Regular: </label>
|
||||
|
||||
|
||||
<div wicket:id="regularlistview">
|
||||
<span wicket:id="regularlabel"></span> <input type="checkbox"
|
||||
wicket:id="regularcheckbox" />
|
||||
</div>
|
||||
<div wicket:id="regularlistview2">
|
||||
<span wicket:id="regularlabel"></span> <input type="checkbox"
|
||||
wicket:id="regularcheckbox" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</wicket:panel>
|
||||
</body>
|
||||
|
@ -6,6 +6,7 @@ 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.WebMarkupContainer;
|
||||
import org.apache.wicket.markup.html.basic.Label;
|
||||
import org.apache.wicket.markup.html.form.Form;
|
||||
import org.apache.wicket.markup.html.list.ListItem;
|
||||
@ -29,40 +30,41 @@ import se.su.dsv.scipro.match.dataobject.KeywordType;
|
||||
* 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));
|
||||
}
|
||||
private WebMarkupContainer regularContainer;
|
||||
|
||||
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);
|
||||
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()) {
|
||||
|
||||
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))){
|
||||
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) {
|
||||
@ -78,26 +80,32 @@ public class ProfilePanel extends Panel {
|
||||
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;
|
||||
});
|
||||
}
|
||||
};
|
||||
add(languageListView);
|
||||
|
||||
final KeywordType unitType = keywordTypeDao.findByType(KeywordTypeDao.TYPE.UNIT);
|
||||
if (employeeModel.getObject().getKeywords().getFiltered(unitType) == null || employeeModel.getObject().getKeywords().getFiltered(unitType).isEmpty()){
|
||||
add(new Label("unitlabel", "You aren't registered under any existing/active unit in Daisy. Please make sure you are registered under an existing/active unit in Daisy ASAP."));
|
||||
}
|
||||
else {
|
||||
add(new Label("unitlabel", employeeModel.getObject().getKeywords().getFiltered(unitType).get(0).getKeyword() + " (imported from Daisy)"));
|
||||
}
|
||||
|
||||
final KeywordType areaType = keywordTypeDao.findByType(KeywordTypeDao.TYPE.RESEARCH_AREA);
|
||||
ListView<Keyword> areaListView = new ListView<Keyword>("arealistview", new ArrayList<Keyword>(keywordDao.getKeywords(areaType, 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))){
|
||||
item.add(new Label("arealabel", kw.getKeyword()));
|
||||
item.add(new AjaxCheckBox("areacheckbox", new Model<Boolean>(employeeModel.getObject().getKeywords().getFiltered(areaType).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());
|
||||
@ -109,16 +117,89 @@ public class ProfilePanel extends Panel {
|
||||
|
||||
employeeModel.getObject().getKeywords().setKeywords(oldKeywords);
|
||||
employeeModel.setObject(employeeDao.save(employeeModel.getObject()));
|
||||
|
||||
target.addComponent(regularContainer);
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
add(regularListView);
|
||||
|
||||
// final KeywordType unitType = keywordTypeDao.findByType(KeywordTypeDao.TYPE.UNIT);
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
};
|
||||
add(areaListView);
|
||||
|
||||
regularContainer = new WebMarkupContainer("regularcontainer");
|
||||
regularContainer.setOutputMarkupId(true);
|
||||
add(regularContainer);
|
||||
|
||||
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();
|
||||
if(employeeModel.getObject().getKeywords().getFiltered(regularType).contains(kw)){
|
||||
item.setVisible(false);
|
||||
}
|
||||
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()));
|
||||
|
||||
target.addComponent(regularContainer);
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
regularContainer.add(regularListView);
|
||||
|
||||
ListView<Keyword> regularListView2 = new ListView<Keyword>("regularlistview2", 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();
|
||||
if(!employeeModel.getObject().getKeywords().getFiltered(regularType).contains(kw)){
|
||||
item.setVisible(false);
|
||||
}
|
||||
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()));
|
||||
|
||||
target.addComponent(regularContainer);
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
regularContainer.add(regularListView2);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user