From cabf12ad8f4c62735fe7648bc02aeb1ac259e73c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lorenzo=20Tilve=20=C3=81lvaro?= Date: Mon, 11 Mar 2013 10:36:27 +0100 Subject: [PATCH] Fix disabled move and indent buttons for the WBS tree manipulation These icons are disabled when the WBS is showed filtered, as the manipulation operations could be ambiguous or problematic, but it was treating wrongly empty predicates. FEA: ItEr77S15FilteringEnhancements --- .../java/org/libreplan/web/orders/OrderElementPredicate.java | 5 +++++ .../org/libreplan/web/orders/OrderElementTreeController.java | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/orders/OrderElementPredicate.java b/libreplan-webapp/src/main/java/org/libreplan/web/orders/OrderElementPredicate.java index 450b3b19e..a7c2ef3f2 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/orders/OrderElementPredicate.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/orders/OrderElementPredicate.java @@ -67,6 +67,11 @@ public class OrderElementPredicate implements IPredicate { return accepts(orderElement) || accepts(orderElement.getAllChildren()); } + public boolean isEmpty() { + return (filters.isEmpty() && startDate == null && finishDate == null && name + .isEmpty()); + } + private boolean accepts(OrderElement orderElement) { if (orderElement == null) { return false; diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/orders/OrderElementTreeController.java b/libreplan-webapp/src/main/java/org/libreplan/web/orders/OrderElementTreeController.java index ce3874210..700471b2f 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/orders/OrderElementTreeController.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/orders/OrderElementTreeController.java @@ -602,7 +602,8 @@ public class OrderElementTreeController extends TreeController { @Override protected boolean isPredicateApplied() { - return predicate != null; + return (predicate != null) + && !((OrderElementPredicate) predicate).isEmpty(); } /**