diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadModel.java index b5550845b..1d57f9727 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadModel.java @@ -300,6 +300,21 @@ public class ResourceLoadModel implements IResourceLoadModel { return allResourcesList.subList(pageFilterPosition, endPosition); } + private List criteriaToShow() { + List criteriaList; + if(!criteriaToShowList.isEmpty()) { + criteriaList = criteriaToShowList; + } + else if(pageFilterPosition == -1) { + criteriaList = allCriteriaList; + } + else { + criteriaList = allCriteriaList.subList( + pageFilterPosition, getEndPositionForCriterionPageFilter()); + } + return criteriaList; + } + @Override public List getAllResourcesList() { return allResourcesList; @@ -367,18 +382,7 @@ public class ResourceLoadModel implements IResourceLoadModel { private List groupsFor( Map> genericAllocationsByCriterion) { List result = new ArrayList(); - List criteriaList; - if(!criteriaToShowList.isEmpty()) { - criteriaList = criteriaToShowList; - } - else if(pageFilterPosition == -1) { - criteriaList = allCriteriaList; - } - else { - criteriaList = allCriteriaList.subList( - pageFilterPosition, getEndPositionForCriterionPageFilter()); - } - for(Criterion criterion : criteriaList) { + for(Criterion criterion : criteriaToShow()) { if (genericAllocationsByCriterion.get(criterion) == null) { // no allocations found for criterion continue; @@ -884,7 +888,14 @@ public class ResourceLoadModel implements IResourceLoadModel { @Override @Transactional(readOnly = true) public List getResources() { - List resources = resourcesToShow(); + List resources; + if(filterByResources) { + resources = resourcesToShow(); + } + else { + resources =resourcesDAO + .findSatisfyingCriterionsAtSomePoint(criteriaToShow()); + } for (Resource resource : resources) { resourcesDAO.reattach(resource); ResourceCalendar calendar = resource.getCalendar();