From 5161b6fdaf5649721afb30eefa04663f559fd486 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Sun, 8 Nov 2009 23:10:49 +0100 Subject: [PATCH] ItEr33S14CUCreacionUnidadesPlanificacion: When pressing the ok the changes to the start constraint are saved --- .../taskedition/EditTaskController.java | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/taskedition/EditTaskController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/taskedition/EditTaskController.java index 17e4b9066..b1a030683 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/taskedition/EditTaskController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/taskedition/EditTaskController.java @@ -21,6 +21,8 @@ package org.navalplanner.web.planner.taskedition; import static org.navalplanner.web.I18nHelper._; +import java.util.Date; + import org.navalplanner.business.planner.entities.StartConstraintType; import org.navalplanner.business.planner.entities.Task; import org.navalplanner.business.planner.entities.TaskElement; @@ -134,7 +136,12 @@ public class EditTaskController extends GenericForwardComposer { * Controller from the Gantt to manage common fields on edit {@link Task} * popup. */ - private TaskEditFormComposer taskEditFormComposer = new TaskEditFormComposer(); + private TaskEditFormComposer taskEditFormComposer = new TaskEditFormComposer() { + protected boolean okPressed() { + return !(currentTaskElement instanceof Task) + || saveConstraintChanges(); + }; + }; private TaskElement currentTaskElement; @@ -203,6 +210,22 @@ public class EditTaskController extends GenericForwardComposer { startConstraintDate.setValue(taskStartConstraint.getConstraintDate()); } + private boolean saveConstraintChanges() { + TaskStartConstraint taskConstraint = currentTaskElementAsTask() + .getStartConstraint(); + WebStartConstraintType type = (WebStartConstraintType) startConstraintTypes + .getSelectedItemApi().getValue(); + Date inputDate = type.isAssociatedDateRequired() ? startConstraintDate + .getValue() : null; + if (taskConstraint.isValid(type.getType(), inputDate)) { + taskConstraint.update(type.getType(), inputDate); + currentContext.recalculatePosition(currentTaskElement); + return true; + } else { + return false; + } + } + private Task currentTaskElementAsTask() { return (Task) currentTaskElement; }