diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/planner/order/SubcontractController.java b/libreplan-webapp/src/main/java/org/libreplan/web/planner/order/SubcontractController.java index c57c529b8..e46af2a8b 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/planner/order/SubcontractController.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/planner/order/SubcontractController.java @@ -325,7 +325,7 @@ public class SubcontractController extends GenericForwardComposer { if (lastEndDateReported != null) { if (lastEndDateReported.equals(endDateFromSubcontractor)) { Date newEndDate = lastEndDateReported.getEndDate(); - Date endDateTask = taskEditFormComposer.getTaskDTO().deadlineDate; + Date endDateTask = taskEditFormComposer.getTaskDTO().endDate; if (endDateTask != null) { return (newEndDate.compareTo(endDateTask) != 0); } @@ -338,8 +338,9 @@ public class SubcontractController extends GenericForwardComposer { } public void updateTaskEnd(Date date) { + this.subcontractModel.setEndDate(date); if (taskEditFormComposer != null) { - taskEditFormComposer.getTaskDTO().deadlineDate = date; + taskEditFormComposer.getTaskDTO().endDate = date; } refressGridEndDates(); } diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/planner/taskedition/TaskPropertiesController.java b/libreplan-webapp/src/main/java/org/libreplan/web/planner/taskedition/TaskPropertiesController.java index 38a2d931a..fff6cd9b0 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/planner/taskedition/TaskPropertiesController.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/planner/taskedition/TaskPropertiesController.java @@ -99,8 +99,6 @@ public class TaskPropertiesController extends GenericForwardComposer { private Datebox endDateBox; - private Datebox deadLineDateBox; - private Combobox startConstraintTypes; private Datebox startConstraintDate; @@ -115,6 +113,8 @@ public class TaskPropertiesController extends GenericForwardComposer { private ResourceAllocationTypeEnum originalState; + private boolean disabledConstraintsAndAllocations = false; + public void init(final EditTaskController editTaskController, IContextWithPlannerTask context, TaskElement taskElement) { @@ -134,15 +134,16 @@ public class TaskPropertiesController extends GenericForwardComposer { originalState = getResourceAllocationType(currentTaskElement); setOldState(originalState); - boolean disabled = currentTaskElement + disabledConstraintsAndAllocations = currentTaskElement .isSubcontractedAndWasAlreadySent() || currentTaskElement.isLimitingAndHasDayAssignments(); - if (!disabled && (currentTaskElement.isTask())) { - disabled = ((Task) currentTaskElement).isManualAnyAllocation(); + if (!disabledConstraintsAndAllocations && (currentTaskElement.isTask())) { + disabledConstraintsAndAllocations = ((Task) currentTaskElement) + .isManualAnyAllocation(); } - startConstraintTypes.setDisabled(disabled); - startConstraintDate.setDisabled(disabled); - lbResourceAllocationType.setDisabled(disabled); + startConstraintTypes.setDisabled(disabledConstraintsAndAllocations); + startConstraintDate.setDisabled(disabledConstraintsAndAllocations); + lbResourceAllocationType.setDisabled(disabledConstraintsAndAllocations); if (context != null) { taskEditFormComposer.init(context.getRelativeTo(), context.getTask()); @@ -414,7 +415,11 @@ public class TaskPropertiesController extends GenericForwardComposer { ok = saveConstraintChanges(); } if (ok) { - taskEditFormComposer.acceptWithoutCopyingDates(); + if (disabledConstraintsAndAllocations) { + taskEditFormComposer.accept(); + } else { + taskEditFormComposer.acceptWithoutCopyingDates(); + } } } @@ -692,8 +697,8 @@ public class TaskPropertiesController extends GenericForwardComposer { return taskEditFormComposer; } - public void refreshTaskDeadline() { - Util.reloadBindings(deadLineDateBox); + public void refreshTaskEndDate() { + Util.reloadBindings(endDateBox); } public String getMoneyFormat() { diff --git a/libreplan-webapp/src/main/webapp/planner/editTask.zul b/libreplan-webapp/src/main/webapp/planner/editTask.zul index c839df15e..9da0faaff 100644 --- a/libreplan-webapp/src/main/webapp/planner/editTask.zul +++ b/libreplan-webapp/src/main/webapp/planner/editTask.zul @@ -63,7 +63,7 @@ + onSelect = "propertiesController.refreshTaskEndDate();"/>