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;
|
package se.su.dsv.scipro.supervisor.pages;
|
||||||
|
|
||||||
import org.apache.wicket.PageParameters;
|
import org.apache.wicket.PageParameters;
|
||||||
|
import org.apache.wicket.markup.html.panel.EmptyPanel;
|
||||||
import org.apache.wicket.model.Model;
|
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.data.dataobjects.Employee;
|
||||||
import se.su.dsv.scipro.match.dao.interfaces.SupervisorDao;
|
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;
|
||||||
@ -20,12 +22,11 @@ public class SupervisorProfilePage extends AbstractSupervisorPage {
|
|||||||
public SupervisorProfilePage(final PageParameters pp){
|
public SupervisorProfilePage(final PageParameters pp){
|
||||||
super(pp);
|
super(pp);
|
||||||
//add(factory.createUserProfilePanelForUser("supervisorProfile",getUser()));
|
//add(factory.createUserProfilePanelForUser("supervisorProfile",getUser()));
|
||||||
if (supervisorDao.getFrom(e)){
|
if (supervisorDao.getFrom(getUser()) == null){
|
||||||
|
add(new EmptyPanel("supervisorProfile"));
|
||||||
}get
|
}
|
||||||
else {
|
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>
|
<wicket:panel>
|
||||||
<form wicket:id="form">
|
<form wicket:id="form">
|
||||||
<div class="append-bottom">
|
<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">
|
<div wicket:id="languagelistview">
|
||||||
<span wicket:id="languagelabel"></span> <input type="checkbox"
|
<span wicket:id="languagelabel"></span> <input type="checkbox"
|
||||||
wicket:id="languagecheckbox" />
|
wicket:id="languagecheckbox" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="append-bottom">
|
<div class="append-bottom">
|
||||||
<label>Regular:</label>
|
<label>Research areas: </label>
|
||||||
<div wicket:id="regularlistview">
|
<div wicket:id="arealistview">
|
||||||
<span wicket:id="regularlabel"></span> <input type="checkbox"
|
<span wicket:id="arealabel"></span> <input type="checkbox"
|
||||||
wicket:id="regularcheckbox" />
|
wicket:id="areacheckbox" />
|
||||||
</div>
|
</div>
|
||||||
</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>
|
</form>
|
||||||
</wicket:panel>
|
</wicket:panel>
|
||||||
</body>
|
</body>
|
||||||
|
@ -6,6 +6,7 @@ import java.util.Set;
|
|||||||
|
|
||||||
import org.apache.wicket.ajax.AjaxRequestTarget;
|
import org.apache.wicket.ajax.AjaxRequestTarget;
|
||||||
import org.apache.wicket.ajax.markup.html.form.AjaxCheckBox;
|
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.basic.Label;
|
||||||
import org.apache.wicket.markup.html.form.Form;
|
import org.apache.wicket.markup.html.form.Form;
|
||||||
import org.apache.wicket.markup.html.list.ListItem;
|
import org.apache.wicket.markup.html.list.ListItem;
|
||||||
@ -29,40 +30,41 @@ import se.su.dsv.scipro.match.dataobject.KeywordType;
|
|||||||
* Time: 3:07 PM
|
* Time: 3:07 PM
|
||||||
*/
|
*/
|
||||||
public class ProfilePanel extends Panel {
|
public class ProfilePanel extends Panel {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
private WebMarkupContainer regularContainer;
|
||||||
public ProfilePanel(String id, Model<Employee> employeeModel) {
|
|
||||||
super(id);
|
|
||||||
add(new ProfileForm("form", employeeModel));
|
|
||||||
}
|
|
||||||
|
|
||||||
public class ProfileForm extends Form<Void> {
|
public ProfilePanel(String id, Model<Employee> employeeModel) {
|
||||||
|
super(id);
|
||||||
private static final long serialVersionUID = 1L;
|
add(new ProfileForm("form", employeeModel));
|
||||||
|
}
|
||||||
@SpringBean
|
|
||||||
LanguageDao languageDao;
|
public class ProfileForm extends Form<Void> {
|
||||||
@SpringBean
|
|
||||||
SupervisorDao employeeDao;
|
private static final long serialVersionUID = 1L;
|
||||||
@SpringBean
|
|
||||||
KeywordTypeDao keywordTypeDao;
|
@SpringBean
|
||||||
@SpringBean
|
LanguageDao languageDao;
|
||||||
KeywordDao keywordDao;
|
@SpringBean
|
||||||
|
SupervisorDao employeeDao;
|
||||||
|
@SpringBean
|
||||||
public ProfileForm(String id, final Model<Employee> employeeModel) {
|
KeywordTypeDao keywordTypeDao;
|
||||||
super(id);
|
@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;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void populateItem(ListItem<Language> item) {
|
protected void populateItem(ListItem<Language> item) {
|
||||||
final Language l = item.getModelObject();
|
final Language l = item.getModelObject();
|
||||||
item.add(new Label("languagelabel", l.getName()));
|
item.add(new Label("languagelabel", l.getName()));
|
||||||
item.add(new AjaxCheckBox("languagecheckbox", new Model<Boolean>(employeeModel.getObject().getCapabilities().getLanguages().contains(l))){
|
item.add(new AjaxCheckBox("languagecheckbox", new Model<Boolean>(employeeModel.getObject().getCapabilities().getLanguages().contains(l))){
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
@Override
|
@Override
|
||||||
protected void onUpdate(AjaxRequestTarget target) {
|
protected void onUpdate(AjaxRequestTarget target) {
|
||||||
@ -78,26 +80,32 @@ public class ProfilePanel extends Panel {
|
|||||||
employeeModel.getObject().getCapabilities().setLanguages(languages);
|
employeeModel.getObject().getCapabilities().setLanguages(languages);
|
||||||
employeeModel.setObject(employeeDao.save(employeeModel.getObject()));
|
employeeModel.setObject(employeeDao.save(employeeModel.getObject()));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
add(languageListView);
|
add(languageListView);
|
||||||
|
|
||||||
|
final KeywordType unitType = keywordTypeDao.findByType(KeywordTypeDao.TYPE.UNIT);
|
||||||
final KeywordType regularType = keywordTypeDao.findByType(KeywordTypeDao.TYPE.REGULAR);
|
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."));
|
||||||
ListView<Keyword> regularListView = new ListView<Keyword>("regularlistview", new ArrayList<Keyword>(keywordDao.getKeywords(regularType, false))){
|
}
|
||||||
private static final long serialVersionUID = 1L;
|
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
|
@Override
|
||||||
protected void populateItem(ListItem<Keyword> item) {
|
protected void populateItem(ListItem<Keyword> item) {
|
||||||
final Keyword kw = item.getModelObject();
|
final Keyword kw = item.getModelObject();
|
||||||
item.add(new Label("regularlabel", kw.getKeyword()));
|
item.add(new Label("arealabel", kw.getKeyword()));
|
||||||
item.add(new AjaxCheckBox("regularcheckbox", new Model<Boolean>(employeeModel.getObject().getKeywords().getFiltered(regularType).contains(kw))){
|
item.add(new AjaxCheckBox("areacheckbox", new Model<Boolean>(employeeModel.getObject().getKeywords().getFiltered(areaType).contains(kw))){
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
@Override
|
@Override
|
||||||
protected void onUpdate(AjaxRequestTarget target) {
|
protected void onUpdate(AjaxRequestTarget target) {
|
||||||
Set<Keyword> oldKeywords = new HashSet<Keyword>(employeeModel.getObject().getKeywords().getAll());
|
Set<Keyword> oldKeywords = new HashSet<Keyword>(employeeModel.getObject().getKeywords().getAll());
|
||||||
|
|
||||||
if (getModelObject()==true){
|
if (getModelObject()==true){
|
||||||
oldKeywords.add(kw);
|
oldKeywords.add(kw);
|
||||||
System.out.println("added regular " + kw.getKeyword());
|
System.out.println("added regular " + kw.getKeyword());
|
||||||
@ -109,16 +117,89 @@ public class ProfilePanel extends Panel {
|
|||||||
|
|
||||||
employeeModel.getObject().getKeywords().setKeywords(oldKeywords);
|
employeeModel.getObject().getKeywords().setKeywords(oldKeywords);
|
||||||
employeeModel.setObject(employeeDao.save(employeeModel.getObject()));
|
employeeModel.setObject(employeeDao.save(employeeModel.getObject()));
|
||||||
|
|
||||||
|
target.addComponent(regularContainer);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
add(regularListView);
|
add(areaListView);
|
||||||
|
|
||||||
// final KeywordType unitType = keywordTypeDao.findByType(KeywordTypeDao.TYPE.UNIT);
|
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