Default project classes must be added when we use the clear button to reset the previous search terms.
This commit is contained in:
parent
b02e7363ae
commit
ac51cb76e8
src/main/java/se/su/dsv/scipro
@ -1,6 +1,5 @@
|
||||
package se.su.dsv.scipro.match.panel;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.wicket.markup.html.WebMarkupContainer;
|
||||
@ -33,7 +32,6 @@ public class FilterFormProjectClassPanel extends Panel {
|
||||
|
||||
public FilterFormProjectClassPanel(String id, final List<ProjectClass> projectClassesToSet) {
|
||||
super(id);
|
||||
setOutputMarkupId(true);
|
||||
List<ProjectClass> projectClasses1 = projectClassDao.findAll();
|
||||
CompoundPropertyModel<List<ProjectClass>> projectClassModel = new CompoundPropertyModel<List<ProjectClass>>(projectClasses1);
|
||||
checkGroup = new CheckGroup<ProjectClass>("checkGroup",projectClassesToSet);
|
||||
|
@ -22,6 +22,7 @@ import org.apache.wicket.spring.injection.annot.SpringBean;
|
||||
import se.su.dsv.scipro.components.CustomDateTimeField;
|
||||
import se.su.dsv.scipro.components.ItemsPerPageChoice;
|
||||
import se.su.dsv.scipro.data.dao.interfaces.Dao.SortableParams.Sort;
|
||||
import se.su.dsv.scipro.data.dao.interfaces.ProjectClassDao;
|
||||
import se.su.dsv.scipro.data.dataobjects.ProjectClass;
|
||||
import se.su.dsv.scipro.data.dataobjects.Student;
|
||||
import se.su.dsv.scipro.data.facade.ProjectIdeaFacade;
|
||||
@ -50,6 +51,9 @@ public class SupervisorUnmatchedThesisPanel extends Panel {
|
||||
|
||||
@SpringBean
|
||||
private KeywordTypeDao keywordTypeDao;
|
||||
|
||||
@SpringBean
|
||||
private ProjectClassDao projectClassDao;
|
||||
|
||||
public SupervisorUnmatchedThesisPanel(String id, final Component feedBackPanel) {
|
||||
super(id);
|
||||
@ -285,6 +289,7 @@ public class SupervisorUnmatchedThesisPanel extends Panel {
|
||||
container.add(dateTo);
|
||||
add(container);
|
||||
final FilterFormProjectClassPanel projectClassPanel = new FilterFormProjectClassPanel("projectClassPanel", new ArrayList<ProjectClass>());
|
||||
projectClassPanel.setOutputMarkupId(true);
|
||||
add(projectClassPanel);
|
||||
AjaxButton filterButton = new AjaxButton("filterButton", new Model<String>("Filter")) {
|
||||
private static final long serialVersionUID = 874722659774465502L;
|
||||
@ -295,9 +300,11 @@ public class SupervisorUnmatchedThesisPanel extends Panel {
|
||||
List<ProjectClass> pclasses = projectClassPanel.getSelectedprojectClasses();
|
||||
if (!pclasses.isEmpty()) {
|
||||
params.setProjectClasses(pclasses);
|
||||
} else if(params.getProjectClasses() == null || params.getProjectClasses().size() == 0) {
|
||||
addProjectClasses(params);
|
||||
}
|
||||
if(!keywords.isEmpty()) {
|
||||
params.setKeywords(keywords);
|
||||
params.setKeywords(keywords); // there should always be a project class, we may otherwise get an NPE when we clear() in clearSearchTermsButton#onSubmit
|
||||
}
|
||||
params.setSubmittedAfter(dateFrom.getModelObject());
|
||||
params.setSubmittedBefore(dateTo.getModelObject());
|
||||
@ -322,5 +329,14 @@ public class SupervisorUnmatchedThesisPanel extends Panel {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void addProjectClasses(Params params) {
|
||||
Collection<ProjectClass> projectClassCollection = new ArrayList<ProjectClass>();
|
||||
ProjectClass projectClass = projectClassDao.getProjectClass(ProjectClass.BACHELOR);
|
||||
projectClassCollection.add(projectClass);
|
||||
projectClass = projectClassDao.getProjectClass(ProjectClass.MASTER);
|
||||
projectClassCollection.add(projectClass);
|
||||
params.setProjectClasses(projectClassCollection);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user