From e5fdc5ea47b668d9c0915f8d4fb3465883d37a53 Mon Sep 17 00:00:00 2001 From: miciele Ghiorghis Date: Thu, 25 Apr 2013 13:03:45 +0200 Subject: [PATCH] filter-on-projectname: modified to support filter on part of project name --- .../web/orders/OrderCRUDController.java | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/orders/OrderCRUDController.java b/libreplan-webapp/src/main/java/org/libreplan/web/orders/OrderCRUDController.java index 0480f1746..3117d936c 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/orders/OrderCRUDController.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/orders/OrderCRUDController.java @@ -206,6 +206,8 @@ public class OrderCRUDController extends GenericForwardComposer { private EndDatesRenderer endDatesRenderer = new EndDatesRenderer(); + private Textbox filterProjectName; + @Override public void doAfterCompose(Component comp) throws Exception { super.doAfterCompose(comp); @@ -225,6 +227,10 @@ public class OrderCRUDController extends GenericForwardComposer { .getFellow("bdFilters"); checkIncludeOrderElements = (Checkbox) filterComponent .getFellow("checkIncludeOrderElements"); + + filterProjectName = (Textbox) filterComponent + .getFellow("filterProjectName"); + checkCreationPermissions(); setupGlobalButtons(); initializeFilter(); @@ -262,6 +268,8 @@ public class OrderCRUDController extends GenericForwardComposer { filterStartDate.setValue(startDate); filterFinishDate.setValue(endDate); + filterProjectName.setValue(FilterUtils.readProjectsName()); + loadLabels(); FilterUtils.writeProjectPlanningFilterChanged(false); } @@ -1491,19 +1499,21 @@ public class OrderCRUDController extends GenericForwardComposer { OrderPredicate predicate = createPredicate(); storeSessionVariables(); FilterUtils.writeProjectFilterChanged(true); - if (predicate != null && checkIncludeOrderElements.isChecked()) { + if (predicate != null) { // Force reload conversation state in oderModel getOrders(); filterByPredicate(predicate); } else { showAllOrders(); } + } private void storeSessionVariables() { FilterUtils.writeProjectsFilter(filterStartDate.getValue(), filterFinishDate.getValue(), - getSelectedBandboxAsTaskGroupFilters()); + getSelectedBandboxAsTaskGroupFilters(), + filterProjectName.getValue()); } private List getSelectedBandboxAsTaskGroupFilters() { @@ -1544,12 +1554,14 @@ public class OrderCRUDController extends GenericForwardComposer { Date startDate = filterStartDate.getValue(); Date finishDate = filterFinishDate.getValue(); Boolean includeOrderElements = checkIncludeOrderElements.isChecked(); + String name = filterProjectName.getValue(); - if (listFilters.isEmpty() && startDate == null && finishDate == null) { + if (listFilters.isEmpty() && startDate == null && finishDate == null + && name == null) { return null; } return new OrderPredicate(listFilters, startDate, finishDate, - includeOrderElements); + includeOrderElements, name); } private void filterByPredicate(OrderPredicate predicate) { @@ -1866,6 +1878,8 @@ public class OrderCRUDController extends GenericForwardComposer { public void readSessionFilterDates() { filterStartDate.setValue(FilterUtils.readProjectsStartDate()); filterFinishDate.setValue(FilterUtils.readProjectsEndDate()); + filterProjectName.setValue(FilterUtils.readProjectsName()); + loadLabels(); }