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 e19d4813b..5398844a9 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 @@ -1493,10 +1493,42 @@ public class OrderCRUDController extends GenericForwardComposer { Sessions.getCurrent().setAttribute("companyFilterFinishDate", filterFinishDate.getValue()); Sessions.getCurrent().setAttribute("companyFilterLabel", - bdFilters.getSelectedElements()); + getSelectedBandboxAsTaskGroupFilters()); Sessions.getCurrent().setAttribute("companyFilterChanged", true); } + private List getSelectedBandboxAsTaskGroupFilters() { + List result = new ArrayList(); + for (FilterPair filterPair : (List) bdFilters + .getSelectedElements()) { + OrderFilterEnum type = (OrderFilterEnum) filterPair + .getType(); + switch (type) { + case Label: + result.add(new FilterPair(TaskGroupFilterEnum.Label, filterPair + .getPattern(), filterPair.getValue())); + break; + case Criterion: + result.add(new FilterPair(TaskGroupFilterEnum.Criterion, + filterPair.getPattern(), filterPair.getValue())); + break; + case ExternalCompany: + result.add(new FilterPair(TaskGroupFilterEnum.ExternalCompany, + filterPair.getPattern(), filterPair.getValue())); + break; + case State: + result.add(new FilterPair(TaskGroupFilterEnum.State, filterPair + .getPattern(), filterPair.getValue())); + break; + default: + result.add(new FilterPair(OrderFilterEnum.Label, filterPair + .getPattern(), filterPair.getValue())); + break; + } + } + return result; + } + private OrderPredicate createPredicate() { List listFilters = (List) bdFilters .getSelectedElements(); diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/planner/company/CompanyPlanningController.java b/libreplan-webapp/src/main/java/org/libreplan/web/planner/company/CompanyPlanningController.java index e93b77bf1..becea4e58 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/planner/company/CompanyPlanningController.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/planner/company/CompanyPlanningController.java @@ -162,6 +162,7 @@ public class CompanyPlanningController implements Composer { List sessionFilterPairs = (List) Sessions .getCurrent().getAttribute("companyFilterLabel"); if (sessionFilterPairs != null && !sessionFilterPairs.isEmpty()) { + bdFilters.clear(); for (FilterPair filterPair : sessionFilterPairs) { bdFilters.addSelectedElement(filterPair); } @@ -342,6 +343,7 @@ public class CompanyPlanningController implements Composer { "companyFilterStartDate")); filterFinishDate.setValue((Date) Sessions.getCurrent().getAttribute( "companyFilterFinishDate")); + loadPredefinedBandboxFilter(); } public void onApplyFilter() {