From 4f85c573db8fe3455071ba40cf3932e5bf34f514 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Tue, 15 Dec 2009 16:47:50 +0100 Subject: [PATCH] ItEr39S16CUConfiguracionMaquinasItEr35S09: Aggregating row fields is disabled when there are no rows --- .../web/planner/allocation/FormBinder.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/FormBinder.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/FormBinder.java index ec763f30f..5a111e9f2 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/FormBinder.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/FormBinder.java @@ -25,6 +25,7 @@ import static org.navalplanner.web.I18nHelper._; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; import java.util.Date; import java.util.List; import java.util.Set; @@ -105,7 +106,7 @@ class FormBinder { private final IResourceAllocationModel resourceAllocationModel; - private List rows; + private List rows = Collections.emptyList(); private Checkbox recommendedAllocationCheckbox; @@ -188,7 +189,8 @@ class FormBinder { private void allHoursInputComponentDisabilityRule() { CalculatedValue c = allocationRowsHandler.getCalculatedValue(); - boolean disabled = (CalculatedValue.NUMBER_OF_HOURS == c) + boolean disabled = rows.isEmpty() + || (CalculatedValue.NUMBER_OF_HOURS == c) || (c == CalculatedValue.RESOURCES_PER_DAY && !recommendedAllocation); this.allHoursInput.setDisabled(disabled); } @@ -303,8 +305,10 @@ class FormBinder { } private void allResourcesPerDayVisibilityRule() { - this.allResourcesPerDay.setDisabled(allocationRowsHandler - .getCalculatedValue() == CalculatedValue.RESOURCES_PER_DAY + CalculatedValue c = allocationRowsHandler + .getCalculatedValue(); + this.allResourcesPerDay.setDisabled(rows.isEmpty() + || c == CalculatedValue.RESOURCES_PER_DAY || !recommendedAllocation); this.allResourcesPerDay .setConstraint(constraintForAllResourcesPerDay()); @@ -323,7 +327,9 @@ class FormBinder { rows = result; applyDisabledRulesOnRows(); bindTotalHoursToHoursInputs(); + allHoursInputComponentDisabilityRule(); bindAllResourcesPerDayToRows(); + allResourcesPerDayVisibilityRule(); return result; }