diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/order/SaveCommand.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/order/SaveCommand.java index a01c678bb..400e8ca3e 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/order/SaveCommand.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/order/SaveCommand.java @@ -172,10 +172,7 @@ public class SaveCommand implements ISaveCommand { for (TaskElement taskElement : state.getTasksToSave()) { removeDetachedDerivedDayAssignments(taskElement); removeEmptyConsolidation(taskElement); - if (taskElement.isLimiting()) { - Task task = (Task) taskElement; - updateLimitingResourceQueueElementDates(task); - } + updateLimitingResourceQueueElementDates(taskElement); taskElementDAO.save(taskElement); } @@ -190,6 +187,17 @@ public class SaveCommand implements ISaveCommand { } } + private void updateLimitingResourceQueueElementDates(TaskElement taskElement) { + if (taskElement.isLimiting()) { + Task task = (Task) taskElement; + updateLimitingResourceQueueElementDates(task); + } else if (!taskElement.isLeaf()) { + for (TaskElement each : taskElement.getChildren()) { + updateLimitingResourceQueueElementDates(each); + } + } + } + private void updateLimitingResourceQueueElementDates(Task task) { LimitingResourceQueueElement limiting = task .getAssociatedLimitingResourceQueueElementIfAny();