diff --git a/src/main/java/se/su/dsv/scipro/supervisor/panels/ProfilePanel.html b/src/main/java/se/su/dsv/scipro/supervisor/panels/ProfilePanel.html index ae28e552c4..7b7d5c0d9a 100644 --- a/src/main/java/se/su/dsv/scipro/supervisor/panels/ProfilePanel.html +++ b/src/main/java/se/su/dsv/scipro/supervisor/panels/ProfilePanel.html @@ -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> diff --git a/src/main/java/se/su/dsv/scipro/supervisor/panels/ProfilePanel.java b/src/main/java/se/su/dsv/scipro/supervisor/panels/ProfilePanel.java index 08c55fbc08..bff72436b2 100644 --- a/src/main/java/se/su/dsv/scipro/supervisor/panels/ProfilePanel.java +++ b/src/main/java/se/su/dsv/scipro/supervisor/panels/ProfilePanel.java @@ -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);