diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/GenericResourceAllocation.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/GenericResourceAllocation.java index 5614c6631..fcc36363d 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/GenericResourceAllocation.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/GenericResourceAllocation.java @@ -257,6 +257,7 @@ public class GenericResourceAllocation extends return new ArrayList(resources); } + @Override public IAllocatable withPreviousAssociatedResources() { return forResources(getAssociatedResources()); } diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/ResourceAllocation.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/ResourceAllocation.java index c125057f9..14e8cdf7d 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/ResourceAllocation.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/ResourceAllocation.java @@ -268,6 +268,8 @@ public abstract class ResourceAllocation extends resourcesPerDay); } + public abstract IAllocatable withPreviousAssociatedResources(); + protected abstract class AssignmentsAllocation implements IAllocatable { @Override diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/SpecificResourceAllocation.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/SpecificResourceAllocation.java index e2f7f1a47..f8e98be43 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/SpecificResourceAllocation.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/SpecificResourceAllocation.java @@ -173,4 +173,9 @@ public class SpecificResourceAllocation extends p.detach(); } } + + @Override + public IAllocatable withPreviousAssociatedResources() { + return this; + } } 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 de3df6f3a..ebb583cc6 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 @@ -470,11 +470,14 @@ class Row { if (isGroupingRow()) { return; } + final Intbox intbox = (Intbox) component; component.addEventListener(Events.ON_CHANGE, new EventListener() { @Override public void onEvent(Event event) throws Exception { fireCellChanged(item); + Integer value = intbox.getValue(); + allocateOnInterval(getAllocation(), item, value); } }); } @@ -489,6 +492,13 @@ class Row { } } + private ResourceAllocation getAllocation() { + if (isGroupingRow()) { + throw new IllegalStateException("is grouping row"); + } + return aggregate.getAllocationsSortedByStartDate().get(0); + } + private boolean isGroupingRow() { return aggregate.getAllocationsSortedByStartDate().size() > 1; }