Merge branch 'develop' of ssh://git.dsv.su.se/git/scipro/scipro into develop
This commit is contained in:
commit
3fe10ef6c0
src/main/java/se/su/dsv/scipro
admin/panels
match
supervisor/panels
@ -41,32 +41,33 @@ public class ManualMatchPanel extends Panel {
|
||||
|
||||
private Fragment currentFragment;
|
||||
private Fragment alternateFragment;
|
||||
private AutoCompleteObjectField<Employee, Long> autoCompleteObjectField;
|
||||
|
||||
private ConfirmerAjaxSubmitLink saveButton;
|
||||
|
||||
public ManualMatchPanel(String id, final IModel<Match> matchModel, final Component feedbackPanel, final Match.Status status) {
|
||||
super(id);
|
||||
Component localFeedback = new FeedbackPanel("localFeedback");
|
||||
ConfirmerAjaxSubmitLink saveButton = createSubmitLink(matchModel, feedbackPanel, status, localFeedback);
|
||||
autoCompleteObjectField = createDsvAutocompleteComponent(matchModel.getObject().getProjectIdea(), status, saveButton);
|
||||
AutoCompleteObjectField<Employee, Long> autoCompleteObjectField =
|
||||
createDsvAutocompleteComponent(matchModel.getObject().getProjectIdea(), status);
|
||||
autoCompleteObjectField.setOutputMarkupId(true);
|
||||
saveButton = createSubmitLink(matchModel, feedbackPanel, status, localFeedback, autoCompleteObjectField);
|
||||
saveButton.setOutputMarkupId(true);
|
||||
setOutputMarkupPlaceholderTag(true);
|
||||
Form<Employee> matchForm = new Form<Employee>("matchForm");
|
||||
currentFragment = createButtonFragment(status, matchForm);
|
||||
currentFragment = createButtonFragment(status, matchForm, autoCompleteObjectField);
|
||||
currentFragment.setOutputMarkupId(true);
|
||||
alternateFragment = createMatchFragment(saveButton, matchForm, localFeedback);
|
||||
alternateFragment = createMatchFragment(matchForm, localFeedback, autoCompleteObjectField);
|
||||
alternateFragment.setOutputMarkupId(true);
|
||||
add(currentFragment);
|
||||
}
|
||||
|
||||
private ConfirmerAjaxSubmitLink createSubmitLink(final IModel<Match> matchModel, final Component feedbackPanel, final Match.Status status, final Component localFeedback) {
|
||||
private ConfirmerAjaxSubmitLink createSubmitLink(final IModel<Match> matchModel, final Component feedbackPanel, final Match.Status status,
|
||||
final Component localFeedback, final AutoCompleteObjectField<Employee, Long> autoCompleteObjectField) {
|
||||
return new ConfirmerAjaxSubmitLink("saveButton") {
|
||||
|
||||
private static final long serialVersionUID = -1820883998549197409L;
|
||||
|
||||
@Override
|
||||
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
|
||||
if(autoCompleteObjectField.getModelObject() == null) {
|
||||
Session.get().info("No match could be created because the supervisor was incorrect.");
|
||||
Session.get().info("No match could be created because no supervisor was selected.");
|
||||
target.addComponent(localFeedback);
|
||||
} else {
|
||||
matchModel.getObject().setSupervisor(autoCompleteObjectField.getModelObject() != null ? autoCompleteObjectField.getModelObject():null);
|
||||
@ -87,7 +88,8 @@ public class ManualMatchPanel extends Panel {
|
||||
};
|
||||
}
|
||||
|
||||
private Fragment createButtonFragment(final Match.Status status, final Form<Employee> matchForm) {
|
||||
private Fragment createButtonFragment(final Match.Status status, final Form<Employee> matchForm,
|
||||
final AutoCompleteObjectField<Employee, Long> autoCompleteObjectField) {
|
||||
Fragment buttonFragment = new Fragment("main", "buttonFragment", this) {
|
||||
|
||||
private static final long serialVersionUID = 2699118307386334814L;
|
||||
@ -104,10 +106,7 @@ public class ManualMatchPanel extends Panel {
|
||||
|
||||
@Override
|
||||
public void onClick(AjaxRequestTarget target) {
|
||||
swapFragment();
|
||||
if (target != null) {
|
||||
target.addComponent(currentFragment);
|
||||
}
|
||||
swapAndAddToTarget(target, autoCompleteObjectField);
|
||||
}
|
||||
@Override
|
||||
public boolean isVisible() {
|
||||
@ -120,10 +119,7 @@ public class ManualMatchPanel extends Panel {
|
||||
|
||||
@Override
|
||||
public void onClick(AjaxRequestTarget target) {
|
||||
swapFragment();
|
||||
if (target != null) {
|
||||
target.addComponent(currentFragment);
|
||||
}
|
||||
swapAndAddToTarget(target, autoCompleteObjectField);
|
||||
}
|
||||
@Override
|
||||
public boolean isVisible() {
|
||||
@ -135,7 +131,27 @@ public class ManualMatchPanel extends Panel {
|
||||
return buttonFragment;
|
||||
}
|
||||
|
||||
private Fragment createMatchFragment(final ConfirmerAjaxSubmitLink saveButton, final Form<Employee> matchForm, Component localFeedback) {
|
||||
|
||||
private void swapAndAddToTarget(AjaxRequestTarget target, final AutoCompleteObjectField autoCompleteObjectField) {
|
||||
swapFragment();
|
||||
if (target != null) {
|
||||
autoCompleteObjectField.setModelObject(null);
|
||||
autoCompleteObjectField.clearInput();
|
||||
saveButton.setMessageContentHTML("No supervisor was selected.");
|
||||
target.addComponent(currentFragment);
|
||||
target.addComponent(autoCompleteObjectField);
|
||||
target.addComponent(saveButton);
|
||||
}
|
||||
}
|
||||
|
||||
private void swapFragment() {
|
||||
Fragment tempFragment = currentFragment;
|
||||
currentFragment.replaceWith(alternateFragment);
|
||||
currentFragment = alternateFragment;
|
||||
alternateFragment = tempFragment;
|
||||
}
|
||||
|
||||
private Fragment createMatchFragment(final Form<Employee> matchForm, Component localFeedback, final AutoCompleteObjectField<Employee, Long> autoCompleteObjectField ) {
|
||||
Fragment matchFragment = new Fragment("main", "matchFragment", this) {
|
||||
private static final long serialVersionUID = -7770434904843562942L;
|
||||
|
||||
@ -146,22 +162,15 @@ public class ManualMatchPanel extends Panel {
|
||||
}
|
||||
};
|
||||
autoCompleteObjectField.setModelObject(null);
|
||||
|
||||
saveButton.setOutputMarkupId(true);
|
||||
localFeedback.setOutputMarkupId(true);
|
||||
matchForm.add(localFeedback);
|
||||
matchForm.add(autoCompleteObjectField);
|
||||
matchForm.add(saveButton);
|
||||
matchForm.add(new AjaxFallbackLink<Object>("cancelButton") {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
public void onClick(AjaxRequestTarget target) {
|
||||
swapFragment();
|
||||
if (target != null) {
|
||||
target.addComponent(currentFragment);
|
||||
}
|
||||
swapAndAddToTarget(target, autoCompleteObjectField);
|
||||
}
|
||||
});
|
||||
matchFragment.add(matchForm);
|
||||
@ -169,7 +178,7 @@ public class ManualMatchPanel extends Panel {
|
||||
return matchFragment;
|
||||
}
|
||||
|
||||
public AutoCompleteObjectField<Employee, Long> createDsvAutocompleteComponent(final ProjectIdea projectIdea, final Match.Status status, final ConfirmerAjaxSubmitLink saveButton) {
|
||||
public AutoCompleteObjectField<Employee, Long> createDsvAutocompleteComponent(final ProjectIdea projectIdea, final Match.Status status) {
|
||||
return new AutoCompleteObjectField<Employee, Long>("autoComplete", Employee.class) {
|
||||
private static final long serialVersionUID = 7734889540424308421L;
|
||||
|
||||
@ -225,13 +234,6 @@ public class ManualMatchPanel extends Panel {
|
||||
};
|
||||
}
|
||||
|
||||
private void swapFragment() {
|
||||
Fragment tempFragment = currentFragment;
|
||||
currentFragment.replaceWith(alternateFragment);
|
||||
currentFragment = alternateFragment;
|
||||
alternateFragment = tempFragment;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* This method is used to return a match message that an employee was matched or suggested to a project idea .
|
||||
|
@ -32,20 +32,24 @@ public class ManualSetReviewerPanel extends Panel {
|
||||
|
||||
private Fragment currentFragment;
|
||||
private Fragment alternateFragment;
|
||||
private AutoCompleteObjectField<Employee, Long> autocompleteReviewerField;
|
||||
private ConfirmerAjaxSubmitLink saveButton;
|
||||
|
||||
public ManualSetReviewerPanel(String id, IModel<ProjectIdea> projectIdeaModel, Component feedbackPanel) {
|
||||
super(id);
|
||||
Component localFeedback = new FeedbackPanel("localFeedback");
|
||||
ConfirmerAjaxSubmitLink saveButton = createSubmitLink(projectIdeaModel, feedbackPanel, localFeedback);
|
||||
autocompleteReviewerField = createDsvAutocompleteComponent(projectIdeaModel.getObject(), saveButton);
|
||||
AutoCompleteObjectField<Employee, Long> autocompleteReviewerField = createDsvAutocompleteComponent(projectIdeaModel.getObject());
|
||||
saveButton = createSubmitLink(projectIdeaModel, feedbackPanel, localFeedback, autocompleteReviewerField);
|
||||
saveButton.setOutputMarkupId(true);
|
||||
autocompleteReviewerField.setOutputMarkupId(true);
|
||||
setOutputMarkupPlaceholderTag(true);
|
||||
Form<Employee> reviewerForm = new Form<Employee>("reviewerForm");
|
||||
currentFragment = createButtonFragment(reviewerForm);
|
||||
alternateFragment = createReviewerFragment(saveButton, reviewerForm, localFeedback);
|
||||
currentFragment = createButtonFragment(reviewerForm, autocompleteReviewerField);
|
||||
alternateFragment = createReviewerFragment(reviewerForm, localFeedback, autocompleteReviewerField );
|
||||
add(currentFragment);
|
||||
}
|
||||
|
||||
private ConfirmerAjaxSubmitLink createSubmitLink(final IModel<ProjectIdea> projectIdeaModel, final Component feedbackPanel, final Component localFeedback) {
|
||||
private ConfirmerAjaxSubmitLink createSubmitLink(final IModel<ProjectIdea> projectIdeaModel, final Component feedbackPanel,
|
||||
final Component localFeedback, final AutoCompleteObjectField<Employee, Long> autocompleteReviewerField) {
|
||||
return new ConfirmerAjaxSubmitLink("saveButton") {
|
||||
|
||||
private static final long serialVersionUID = -1852298712407811714L;
|
||||
@ -53,7 +57,7 @@ public class ManualSetReviewerPanel extends Panel {
|
||||
@Override
|
||||
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
|
||||
if(autocompleteReviewerField.getModelObject() == null) {
|
||||
Session.get().info("No match could be created because the reviewer was incorrect.");
|
||||
Session.get().info("No reviewer could be selected because the data was incorrect.");
|
||||
target.addComponent(localFeedback);
|
||||
} else {
|
||||
ProjectIdea projectIdea = projectIdeaModel.getObject();
|
||||
@ -77,7 +81,7 @@ public class ManualSetReviewerPanel extends Panel {
|
||||
|
||||
|
||||
|
||||
private Fragment createButtonFragment(final Form<Employee> reviewerForm) {
|
||||
private Fragment createButtonFragment(final Form<Employee> reviewerForm, final AutoCompleteObjectField<Employee, Long> autocompleteReviewerField) {
|
||||
Fragment buttonFragment = new Fragment("main", "buttonFragment", this) {
|
||||
private static final long serialVersionUID = 2383077895140299047L;
|
||||
|
||||
@ -93,17 +97,26 @@ public class ManualSetReviewerPanel extends Panel {
|
||||
|
||||
@Override
|
||||
public void onClick(AjaxRequestTarget target) {
|
||||
swapFragment();
|
||||
if (target != null) {
|
||||
target.addComponent(currentFragment);
|
||||
}
|
||||
swapAndAddToTarget(target, autocompleteReviewerField);
|
||||
}
|
||||
});
|
||||
buttonFragment.setOutputMarkupPlaceholderTag(true);
|
||||
return buttonFragment;
|
||||
}
|
||||
|
||||
private Fragment createReviewerFragment(ConfirmerAjaxSubmitLink saveButton, final Form<Employee> reviewerForm, Component localFeedback) {
|
||||
private void swapAndAddToTarget(AjaxRequestTarget target, final AutoCompleteObjectField autoCompleteObjectField) {
|
||||
swapFragment();
|
||||
if (target != null) {
|
||||
autoCompleteObjectField.setModelObject(null);
|
||||
autoCompleteObjectField.clearInput();
|
||||
saveButton.setMessageContentHTML("No supervisor was selected.");
|
||||
target.addComponent(currentFragment);
|
||||
target.addComponent(autoCompleteObjectField);
|
||||
target.addComponent(saveButton);
|
||||
}
|
||||
}
|
||||
|
||||
private Fragment createReviewerFragment(final Form<Employee> reviewerForm, Component localFeedback, final AutoCompleteObjectField<Employee, Long> autocompleteReviewerField) {
|
||||
Fragment reviewerFragment = new Fragment("main", "reviewerFragment", this) {
|
||||
|
||||
private static final long serialVersionUID = -1831632235479216987L;
|
||||
@ -115,23 +128,17 @@ public class ManualSetReviewerPanel extends Panel {
|
||||
}
|
||||
};
|
||||
autocompleteReviewerField.setModelObject(null);
|
||||
|
||||
reviewerForm.add(autocompleteReviewerField);
|
||||
saveButton.setOutputMarkupId(true);
|
||||
|
||||
localFeedback.setOutputMarkupId(true);
|
||||
reviewerForm.add(localFeedback);
|
||||
reviewerForm.add(saveButton);
|
||||
reviewerForm.add(new AjaxFallbackLink<Object>("cancelButton") {
|
||||
|
||||
private static final long serialVersionUID = 5413209640805412939L;
|
||||
|
||||
@Override
|
||||
public void onClick(AjaxRequestTarget target) {
|
||||
swapFragment();
|
||||
if (target != null) {
|
||||
target.addComponent(currentFragment);
|
||||
}
|
||||
swapAndAddToTarget(target, autocompleteReviewerField);
|
||||
}
|
||||
});
|
||||
reviewerFragment.add(reviewerForm);
|
||||
@ -139,7 +146,7 @@ public class ManualSetReviewerPanel extends Panel {
|
||||
return reviewerFragment;
|
||||
}
|
||||
|
||||
public AutoCompleteObjectField<Employee, Long> createDsvAutocompleteComponent(final ProjectIdea projectIdea, final ConfirmerAjaxSubmitLink saveButton) {
|
||||
public AutoCompleteObjectField<Employee, Long> createDsvAutocompleteComponent(final ProjectIdea projectIdea) {
|
||||
return new AutoCompleteObjectField<Employee, Long>("reviewerTextField", Employee.class) {
|
||||
private static final long serialVersionUID = 8639430940925886127L;
|
||||
|
||||
|
@ -18,9 +18,10 @@ public interface KeywordDao extends LazyDeleteDao<Keyword>{
|
||||
* Returns the keyword if it is found
|
||||
* @param keywordType the keyword can be of a specific type i.e. regular, research area or unit, is never NULL
|
||||
* @param keywordName the search term, can only be a part of the keyword name, but must start with the same characters
|
||||
* @param includeDeleted if deleted keywords should be included the search
|
||||
* @return List<Keyword> the keyword list
|
||||
*/
|
||||
public List<Keyword> getAutoCompleteCapableSupervisors(final KeywordType keywordType, final String keywordName);
|
||||
public List<Keyword> getAutoCompleteCapableSupervisors(final KeywordType keywordType, final String keywordName, boolean includeDeleted);
|
||||
|
||||
public List<Keyword> findAllFromType(KeywordType kt, boolean includeDeleted);
|
||||
|
||||
|
@ -138,11 +138,20 @@ public class KeywordDaoJPAImp extends LazyDeleteAbstractDaoJPAImp<Keyword> imple
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Keyword> getAutoCompleteCapableSupervisors(final KeywordType keywordType, final String keywordName) {
|
||||
public List<Keyword> getAutoCompleteCapableSupervisors(final KeywordType keywordType, final String keywordName, final boolean includeDeleted) {
|
||||
return getJpaTemplate().execute(new JpaCallback<List<Keyword>>() {
|
||||
public List<Keyword> doInJpa(EntityManager em) throws PersistenceException {
|
||||
TypedQuery<Keyword> query;
|
||||
query = em.createQuery("SELECT x FROM "+domainClassString+" x WHERE x.type = :type AND x.keyword LIKE :keywordName ORDER BY keyword", domainClass);
|
||||
StringBuilder sqlBuilder = new StringBuilder();
|
||||
sqlBuilder.append("SELECT x FROM ").append(domainClassString).append(" x ")
|
||||
.append("WHERE x.type = :type AND x.keyword LIKE :keywordName AND ");
|
||||
if(includeDeleted) {
|
||||
sqlBuilder.append("(x.deleted = 1 OR x.deleted = 0) ");
|
||||
} else {
|
||||
sqlBuilder.append("x.deleted = 0 ");
|
||||
}
|
||||
sqlBuilder.append("ORDER BY keyword ");
|
||||
query = em.createQuery(sqlBuilder.toString(), domainClass);
|
||||
query.setParameter("type", keywordType);
|
||||
String keyWordNameString = "%" + keywordName + "%";
|
||||
query.setParameter("keywordName", keyWordNameString);
|
||||
|
@ -116,7 +116,6 @@ public class AdminManageProjectIdeaPanel extends Panel {
|
||||
|
||||
@Override
|
||||
public void onClick(AjaxRequestTarget target) {
|
||||
// if (target != null) {
|
||||
dialog.replace(new AdminEditProjectIdeaPanel("dialogContent", new Model<ProjectIdea>(idea), feedBackPanel) {
|
||||
private static final long serialVersionUID = 1L;
|
||||
});
|
||||
@ -124,7 +123,6 @@ public class AdminManageProjectIdeaPanel extends Panel {
|
||||
target.addComponent(dialog);
|
||||
|
||||
dialog.open(target);
|
||||
// }
|
||||
}
|
||||
|
||||
};
|
||||
|
@ -1,9 +1,11 @@
|
||||
package se.su.dsv.scipro.supervisor.panels;
|
||||
|
||||
import org.apache.wicket.Page;
|
||||
import se.su.dsv.scipro.SciProSession;
|
||||
import se.su.dsv.scipro.components.AbstractMenuPanel;
|
||||
import se.su.dsv.scipro.components.menuhighlighting.MenuHighlightSupervisorMyProjects;
|
||||
import se.su.dsv.scipro.peer.pages.SupervisorPeerPortalPage;
|
||||
import se.su.dsv.scipro.security.auth.roles.Roles;
|
||||
import se.su.dsv.scipro.supervisor.pages.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -28,7 +30,9 @@ public class SupervisorTabMenuPanel extends AbstractMenuPanel {
|
||||
List<MenuItem> items = new ArrayList<MenuItem>();
|
||||
items.add(new MenuItem("My projects", SupervisorStartPage.class, MenuHighlightSupervisorMyProjects.class));
|
||||
items.add(new MenuItem("My matched project Ideas", SupervisorProjectIdeaPage.class));
|
||||
items.add(new MenuItem("Unmatched project ideas", SupervisorUnmatchedProjectIdeaPage.class));
|
||||
if(SciProSession.get().authorizedForRole(Roles.SYSADMIN) && SciProSession.get().hasActualRole(Roles.SYSADMIN)) {
|
||||
items.add(new MenuItem("Unmatched project ideas", SupervisorUnmatchedProjectIdeaPage.class));
|
||||
}
|
||||
items.add(new MenuItem("Activity plan templates", SupervisorScheduleTemplatesPage.class));
|
||||
items.add(new MenuItem("Peer portal", SupervisorPeerPortalPage.class));
|
||||
items.add(new MenuItem("Final seminars", SupervisorProjectsFinalSeminarPage.class));
|
||||
|
@ -28,7 +28,7 @@
|
||||
<input style="width:300px;" wicket:id="areaKeyWordAC" /><br/>
|
||||
</div>
|
||||
<div class="span-14 last" >
|
||||
<strong>Selected keywords and keyword types:</strong>
|
||||
<label>Selected keywords:</label>
|
||||
<ul wicket:id="keyWordsContainer">
|
||||
<li wicket:id="keywordList">
|
||||
<h5><span wicket:id="keyWord">[keyword]</span> (<span wicket:id="keyWordType">[keyWordType]</span>)</h5>
|
||||
@ -39,7 +39,11 @@
|
||||
|
||||
<div class="span-22 last append-bottom">
|
||||
<div class="span-3" wicket:id="projectClassPanel">
|
||||
|
||||
</div>
|
||||
<div class="span-3">
|
||||
<label>Include deleted keyword</label>
|
||||
<input type="checkbox" wicket:id="includeDeleted" />
|
||||
<span wicket:id="deletedLabel">[label]</span>
|
||||
</div>
|
||||
<div class="span-2">
|
||||
<div><input wicket:id="filterButton" type="submit"/></div>
|
||||
|
@ -6,6 +6,7 @@ import org.apache.wicket.ajax.AjaxRequestTarget;
|
||||
import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
|
||||
import org.apache.wicket.ajax.markup.html.AjaxLink;
|
||||
import org.apache.wicket.ajax.markup.html.form.AjaxButton;
|
||||
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;
|
||||
@ -35,10 +36,13 @@ import se.su.dsv.scipro.match.dataobject.Match;
|
||||
import se.su.dsv.scipro.match.dataobject.ProjectIdea;
|
||||
import se.su.dsv.scipro.match.dataprovider.ProjectIdeaDataProvider;
|
||||
import se.su.dsv.scipro.match.panel.FilterFormProjectClassPanel;
|
||||
import se.su.dsv.scipro.security.auth.Authorization;
|
||||
import se.su.dsv.scipro.security.auth.roles.Roles;
|
||||
import se.su.dsv.wicket.components.AutoCompleteObjectField;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@Authorization(authorizedRoles = {Roles.SYSADMIN})
|
||||
public class SupervisorUnmatchedThesisPanel extends Panel {
|
||||
|
||||
private static final long serialVersionUID = 3080575522365470502L;
|
||||
@ -49,14 +53,19 @@ public class SupervisorUnmatchedThesisPanel extends Panel {
|
||||
@SpringBean
|
||||
private KeywordDao keywordDao;
|
||||
|
||||
|
||||
@SpringBean
|
||||
private KeywordTypeDao keywordTypeDao;
|
||||
|
||||
@SpringBean
|
||||
private ProjectClassDao projectClassDao;
|
||||
|
||||
|
||||
private Label deletedLabel = new Label("deletedLabel", Boolean.FALSE.toString());
|
||||
|
||||
public SupervisorUnmatchedThesisPanel(String id, final Component feedBackPanel) {
|
||||
super(id);
|
||||
deletedLabel.setOutputMarkupId(true);
|
||||
ProjectIdeaDataProvider allProvider = new ProjectIdeaDataProvider();
|
||||
Params params = setUpParams(allProvider);
|
||||
Label totalProjectIdeas = new Label("totalProjectIdeas", Integer.toString(allProvider.size()));
|
||||
@ -185,9 +194,15 @@ public class SupervisorUnmatchedThesisPanel extends Panel {
|
||||
}
|
||||
|
||||
public AutoCompleteObjectField<Keyword, Long> createKeywordAC(final String wicketId, final KeywordTypeDao.TYPE keyWordType,
|
||||
final List<Keyword> keywords, final Component feedBackPanel, final WebMarkupContainer keyWordsContainer) {
|
||||
final List<Keyword> keywords, final Component feedBackPanel,
|
||||
final WebMarkupContainer keyWordsContainer) {
|
||||
return new AutoCompleteObjectField<Keyword, Long>(wicketId, Keyword.class) {
|
||||
private static final long serialVersionUID = 7734889540424308421L;
|
||||
boolean includeDeleted = false;
|
||||
|
||||
public void setIncludeDeleted(boolean includeDeleted) {
|
||||
this.includeDeleted = includeDeleted;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Keyword loadObject(Long keywordId) {
|
||||
@ -218,9 +233,13 @@ public class SupervisorUnmatchedThesisPanel extends Panel {
|
||||
|
||||
@Override
|
||||
public Iterator<Keyword> getChoices(String input) {
|
||||
final KeywordType kwtype = keywordTypeDao.findByType(keyWordType); // keyWordType is only the Type, but the object is required in findAllFromType
|
||||
|
||||
return keywordDao.getAutoCompleteCapableSupervisors(kwtype, input).iterator();
|
||||
if(deletedLabel.getDefaultModelObject().equals(Boolean.TRUE.toString())) {
|
||||
includeDeleted = true;
|
||||
} else if(deletedLabel.getDefaultModelObject().equals(Boolean.FALSE.toString())) {
|
||||
includeDeleted = false;
|
||||
}
|
||||
final KeywordType kwtype = keywordTypeDao.findByType(keyWordType);
|
||||
return keywordDao.getAutoCompleteCapableSupervisors(kwtype, input, includeDeleted).iterator();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -271,9 +290,9 @@ public class SupervisorUnmatchedThesisPanel extends Panel {
|
||||
keyWordsContainer.add(keywordListView);
|
||||
add(keyWordsContainer);
|
||||
|
||||
AutoCompleteObjectField<Keyword, Long> regKeyWordAc = createKeywordAC("regKeyWordAC", KeywordTypeDao.TYPE.REGULAR, keywords, feedBackPanel, keyWordsContainer);
|
||||
AutoCompleteObjectField<Keyword, Long> unitKeyWordAc = createKeywordAC("unitKeyWordAC", KeywordTypeDao.TYPE.UNIT, keywords, feedBackPanel, keyWordsContainer);
|
||||
AutoCompleteObjectField<Keyword, Long> areaKeyWordAc = createKeywordAC("areaKeyWordAC", KeywordTypeDao.TYPE.RESEARCH_AREA, keywords, feedBackPanel, keyWordsContainer);
|
||||
final AutoCompleteObjectField<Keyword, Long> regKeyWordAc = createKeywordAC("regKeyWordAC", KeywordTypeDao.TYPE.REGULAR, keywords, feedBackPanel, keyWordsContainer);
|
||||
final AutoCompleteObjectField<Keyword, Long> unitKeyWordAc = createKeywordAC("unitKeyWordAC", KeywordTypeDao.TYPE.UNIT, keywords, feedBackPanel, keyWordsContainer);
|
||||
final AutoCompleteObjectField<Keyword, Long> areaKeyWordAc = createKeywordAC("areaKeyWordAC", KeywordTypeDao.TYPE.RESEARCH_AREA, keywords, feedBackPanel, keyWordsContainer);
|
||||
regKeyWordAc.setOutputMarkupId(true);
|
||||
unitKeyWordAc.setOutputMarkupId(true);
|
||||
areaKeyWordAc.setOutputMarkupId(true);
|
||||
@ -291,6 +310,22 @@ public class SupervisorUnmatchedThesisPanel extends Panel {
|
||||
final FilterFormProjectClassPanel projectClassPanel = new FilterFormProjectClassPanel("projectClassPanel", new ArrayList<ProjectClass>());
|
||||
projectClassPanel.setOutputMarkupId(true);
|
||||
add(projectClassPanel);
|
||||
final AjaxCheckBox includeDeletedChbx = new AjaxCheckBox("includeDeleted", new Model<Boolean>()) {
|
||||
@Override
|
||||
protected void onUpdate(AjaxRequestTarget target) {
|
||||
if (getModelObject()) {
|
||||
deletedLabel.setDefaultModel(new Model(Boolean.TRUE.toString()));
|
||||
|
||||
} else {
|
||||
deletedLabel.setDefaultModel(new Model(Boolean.FALSE.toString()));
|
||||
}
|
||||
target.addComponent(deletedLabel);
|
||||
}
|
||||
};
|
||||
add(includeDeletedChbx);
|
||||
add(deletedLabel);
|
||||
|
||||
|
||||
AjaxButton filterButton = new AjaxButton("filterButton", new Model<String>("Filter")) {
|
||||
private static final long serialVersionUID = 874722659774465502L;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user