diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/Task.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/Task.java index c0a4a53da..333a047e2 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/Task.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/Task.java @@ -628,6 +628,13 @@ public class Task extends TaskElement implements ITaskLeafConstraint { || resourceAllocations.isEmpty(); } + @Override + protected void updateWorkableDays() { + if (workableDays != null) { + workableDays = getWorkableDaysBetweenDates(); + } + } + @Override public boolean canBeExplicitlyResized() { return canBeResized() && !isSubcontracted(); diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/TaskElement.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/TaskElement.java index 1607f82e9..d012dc11f 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/TaskElement.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/TaskElement.java @@ -314,11 +314,16 @@ public abstract class TaskElement extends BaseEntity { } boolean sameDay = this.endDate.areSameDay(endDate.getDate()); setIntraDayEndDate(endDate); + updateWorkableDays(); if (!sameDay) { moveAllocations(scenario); } } + // default implementation meant to be override + protected void updateWorkableDays() { + } + protected abstract boolean canBeResized(); /**