some fixes to profile panel

This commit is contained in:
Fredrik Friis 2012-02-28 09:02:40 +09:00
parent 8a32e4a763
commit 847c07c919
2 changed files with 49 additions and 42 deletions
src/main/java/se/su/dsv/scipro/supervisor/panels

@ -8,16 +8,22 @@
<label>Unit: (imported from Daisy)</label>
<div wicket:id="unitlabel"></div>
</div>
<div class="append-bottom">
<label>Research areas: (imported from Daisy)</label>
<div wicket:id="emptylabel"></div>
<div wicket:id="arealistview">
<span wicket:id="arealabel"></span>
<!-- <input type="checkbox" wicket:id="areacheckbox" /> -->
<span wicket:id="arealabel"></span>
<!-- <input type="checkbox" wicket:id="areacheckbox" /> -->
</div>
</div>
<div class="info-box rounded-box last">
<p>
<b>All changes to you profile made below are saved automatically as you go
using AJAX.</b>
</p>
</div>
<div class="append-bottom">
<label>Select what languages you can supervise in: </label>
<div wicket:id="languagelistview">
@ -25,32 +31,25 @@
wicket:id="languagecheckbox" />
</div>
</div>
<div><label>Select keywords: </label></div>
<div>
<label>Select keywords: </label>
</div>
<div class="span-22 last" wicket:id="regularcontainer">
<div class="span-11">
<label>Available</label>
<div wicket:id="regularlistview">
<label>Available</label>
<div wicket:id="regularlistview">
<span wicket:id="regularlabel"></span> <input type="checkbox"
wicket:id="regularcheckbox" />
</div>
</div>
<div class="span-11 last">
<label>Selected</label>
<div wicket:id="regularlistview2">
<label>Selected</label>
<div wicket:id="regularlistview2">
<span wicket:id="regularlabel"></span> <input type="checkbox"
wicket:id="regularcheckbox" />
</div>
</div>
</div>
</form>
</wicket:panel>
</body>

@ -94,9 +94,17 @@ public class ProfilePanel extends Panel {
}
final KeywordType areaType = keywordTypeDao.findByType(KeywordTypeDao.TYPE.RESEARCH_AREA);
add(new Label("emptylabel", "You do not have any active/existing research areas selected in Daisy. Please make sure that you select at least one active/existing research area in Daisy ASAP.").setVisible(employeeModel.getObject().getKeywords().getFiltered(areaType) == null || employeeModel.getObject().getKeywords().getFiltered(areaType).isEmpty()));
boolean atLeastOneActive = false;
for (Keyword kw : employeeModel.getObject().getKeywords().getFiltered(areaType)){
if (!kw.isDeleted()){
atLeastOneActive = true;
break;
}
}
add(new Label("emptylabel", "You do not have any active/existing research areas selected in Daisy. Please make sure that you select at least one active/existing research area in Daisy ASAP.").setVisible(employeeModel.getObject().getKeywords().getFiltered(areaType) == null || employeeModel.getObject().getKeywords().getFiltered(areaType).isEmpty() || !atLeastOneActive));
ListView<Keyword> areaListView = new ListView<Keyword>("arealistview", new ArrayList<Keyword>(keywordDao.getKeywords(areaType, false))){
private static final long serialVersionUID = 1L;
@Override
@ -106,27 +114,27 @@ public class ProfilePanel extends Panel {
if (!employeeModel.getObject().getKeywords().getFiltered(areaType).contains(kw)){
item.setVisible(false);
}
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());
}
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);
}
});
// 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());
// }
// 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);
// }
// });
}
};
add(areaListView);