From 2ae36fe13b0b5b78ad79e345e76ea78e11bff503 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Fri, 9 Oct 2009 15:15:39 +0200 Subject: [PATCH] ItEr29S06CUAsignacionGrupoRecursosAPlanificacionItEr28S06: Now can edit the total hours for each row --- .../AdvancedAllocationController.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/AdvancedAllocationController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/AdvancedAllocationController.java index 550965c83..867ad5708 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/AdvancedAllocationController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/AdvancedAllocationController.java @@ -31,6 +31,7 @@ import java.util.List; import java.util.ListIterator; import java.util.Map; import java.util.WeakHashMap; +import java.util.Map.Entry; import java.util.concurrent.Callable; import org.joda.time.DateTime; @@ -437,6 +438,7 @@ class Row { @Override public void changeOnGlobal() { reloadAllHours(); + reloadHoursSameRowForDetailItems(); } @Override @@ -484,16 +486,30 @@ class Row { if (isGroupingRow()) { return; } - Intbox intbox = (Intbox) allHoursComponent; + final Intbox intbox = (Intbox) allHoursComponent; intbox.addEventListener(Events.ON_CHANGE, new EventListener() { @Override public void onEvent(Event event) throws Exception { + Integer value = intbox.getValue(); + getAllocation().withPreviousAssociatedResources().onInterval( + getAllocation().getStartDate(), + getAllocation().getEndDate()) + .allocateHours(value); fireCellChanged(); + reloadHoursSameRowForDetailItems(); + reloadAllHours(); } }); } + private void reloadHoursSameRowForDetailItems() { + for (Entry entry : componentsByDetailItem + .entrySet()) { + reloadHoursOnInterval(entry.getValue(), entry.getKey()); + } + } + private void reloadAllHours() { if (isGroupingRow()) { Label label = (Label) allHoursInput;