diff --git a/src/main/java/se/su/dsv/scipro/admin/pages/ProjectManagementPage.java b/src/main/java/se/su/dsv/scipro/admin/pages/ProjectManagementPage.java index 4125c5fc93..0c88173443 100644 --- a/src/main/java/se/su/dsv/scipro/admin/pages/ProjectManagementPage.java +++ b/src/main/java/se/su/dsv/scipro/admin/pages/ProjectManagementPage.java @@ -175,22 +175,20 @@ public class ProjectManagementPage extends AbstractAdminPage { @Override public Iterator<Project> getIterator() { - return projectService.find(datesPanel.getFromDate(), datesPanel.getToDate(), new PageRequest(getTable().getCurrentPage(), getTable().getRowsPerPage(), getSort())).iterator(); -// if (filterStringPanel.getFilterString() == null || filterStringPanel.getFilterString().isEmpty()) { -// return projectService.findAll(new PageRequest(getTable().getCurrentPage(), getTable().getRowsPerPage(), getSort())).iterator(); -// } else { -// return projectService.find(filterStringPanel.getFilterString(), new PageRequest(getTable().getCurrentPage(), getTable().getRowsPerPage(), getSort())).iterator(); -// } + if (filterStringPanel.getFilterString() == null || filterStringPanel.getFilterString().isEmpty()) { + return projectService.find(datesPanel.getFromDate(), datesPanel.getToDate(), new PageRequest(getTable().getCurrentPage(), getTable().getRowsPerPage(), getSort())).iterator(); + } else { + return projectService.find(filterStringPanel.getFilterString(), datesPanel.getFromDate(), datesPanel.getToDate(), new PageRequest(getTable().getCurrentPage(), getTable().getRowsPerPage(), getSort())).iterator(); + } } @Override public int getSize() { - return safeLongToInt(projectService.count(datesPanel.getFromDate(), datesPanel.getToDate())); -// if (filterStringPanel.getFilterString() == null || filterStringPanel.getFilterString().isEmpty()) { -// return safeLongToInt(projectService.count()); -// } else { -// return safeLongToInt(projectService.count(filterStringPanel.getFilterString())); -// } + if (filterStringPanel.getFilterString() == null || filterStringPanel.getFilterString().isEmpty()) { + return safeLongToInt(projectService.count(datesPanel.getFromDate(), datesPanel.getToDate())); + } else { + return safeLongToInt(projectService.count(filterStringPanel.getFilterString(), datesPanel.getFromDate(), datesPanel.getToDate())); + } } }); } diff --git a/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/ProjectServiceImpl.java b/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/ProjectServiceImpl.java index c505635bb1..9651b38965 100644 --- a/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/ProjectServiceImpl.java +++ b/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/ProjectServiceImpl.java @@ -53,9 +53,9 @@ public class ProjectServiceImpl extends AbstractQueryService<Project, Long> impl } @Override - public Page<Project> find(String filterString, Pageable pageable) { -// return projectRepo.findAll(titleContains(filterString), pageable); - return projectRepo.findAll(titleContains(filterString).or(headSupervisorFirstNameContains(filterString).or(headSupervisorLastNameContains(filterString))), pageable); + public Page<Project> find(String filterString, Date fromDate, Date toDate, Pageable pageable) { + + return projectRepo.findAll((titleContains(filterString).or(headSupervisorFirstNameContains(filterString).or(headSupervisorLastNameContains(filterString)))).and(projectCreatedAfter(fromDate)).and(projectCreatedBefore(toDate)), pageable); } @Override @@ -64,8 +64,8 @@ public class ProjectServiceImpl extends AbstractQueryService<Project, Long> impl } @Override - public Long count(String filterString) { - return projectRepo.count(titleContains(filterString)); + public Long count(String filterString, Date fromDate, Date toDate) { + return projectRepo.count((titleContains(filterString).or(headSupervisorFirstNameContains(filterString)).or(headSupervisorLastNameContains(filterString))).and(projectCreatedAfter(fromDate)).and(projectCreatedBefore(toDate))); } @Override diff --git a/src/main/java/se/su/dsv/scipro/springdata/services/ProjectService.java b/src/main/java/se/su/dsv/scipro/springdata/services/ProjectService.java index f7e525f88b..5923083048 100644 --- a/src/main/java/se/su/dsv/scipro/springdata/services/ProjectService.java +++ b/src/main/java/se/su/dsv/scipro/springdata/services/ProjectService.java @@ -11,9 +11,9 @@ import se.su.dsv.scipro.data.enums.ProjectTeamMemberRoles; public interface ProjectService extends GenericService<Project,Long>, QueryService<Project, Long> { - public Page<Project> find(String filterString, Pageable pageable); + public Page<Project> find(String filterString, Date fromDate, Date toDate, Pageable pageable); public Page<Project> find(Date fromDate, Date toDate, Pageable pageable); - public Long count(String filterString); + public Long count(String filterString, Date fromDate, Date toDate); public Long count(Date fromDate, Date toDate); public List<Project> getProjectsByUser(User user); public List<Project> getProjectsByUserAndStatus(User author, ProjectStatus status);