From 83710d6027607196f4a82bacec6edbec60cb283d Mon Sep 17 00:00:00 2001 From: Manuel Rego Casasnovas Date: Wed, 20 Jan 2010 14:04:47 +0100 Subject: [PATCH] ItEr44S11CUImportarTraballoRealizadoPorSubcontrataItEr43S14: Changed end date of resource allocation tab when start constraint date is set. --- .../allocation/AllocationRowsHandler.java | 3 ++- .../web/planner/allocation/FormBinder.java | 5 +++++ .../allocation/IResourceAllocationModel.java | 3 +++ .../allocation/ResourceAllocationController.java | 10 ++++++++++ .../allocation/ResourceAllocationModel.java | 7 +++++++ .../planner/taskedition/EditTaskController.java | 16 ++++++++++++++++ .../taskedition/TaskPropertiesController.java | 6 ------ .../src/main/webapp/planner/order.zul | 3 ++- 8 files changed, 45 insertions(+), 8 deletions(-) diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/AllocationRowsHandler.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/AllocationRowsHandler.java index 404c1ac94..21ee5f018 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/AllocationRowsHandler.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/AllocationRowsHandler.java @@ -147,7 +147,8 @@ public class AllocationRowsHandler { && !currentRows.isEmpty() && formBinder.getAssignedHours() <= 0) { formBinder.markAssignedHoursMustBePositive(); } - if (formBinder.getAllocationEnd().isBefore( + if (calculatedValue != CalculatedValue.END_DATE + && formBinder.getAllocationEnd().isBefore( new LocalDate(task.getStartDate()))) { formBinder.markEndDateMustBeAfterStartDate(); } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/FormBinder.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/FormBinder.java index 3a8d07405..540b73949 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/FormBinder.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/FormBinder.java @@ -590,4 +590,9 @@ public class FormBinder { return sum; } + public void setStartDate(Date date) { + taskStartDateBox.setValue(date); + doApply(); + } + } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/IResourceAllocationModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/IResourceAllocationModel.java index b74628c7b..6721e430a 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/IResourceAllocationModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/IResourceAllocationModel.java @@ -20,6 +20,7 @@ package org.navalplanner.web.planner.allocation; +import java.util.Date; import java.util.List; import org.navalplanner.business.common.ProportionalDistributor; @@ -72,4 +73,6 @@ public interface IResourceAllocationModel extends INewAllocationsAdder { ProportionalDistributor addDefaultAllocations(); + void setStartDate(Date date); + } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/ResourceAllocationController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/ResourceAllocationController.java index dfb26194d..c8d76345e 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/ResourceAllocationController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/ResourceAllocationController.java @@ -25,6 +25,7 @@ import static org.navalplanner.web.I18nHelper._; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; +import java.util.Date; import java.util.List; import org.apache.commons.lang.Validate; @@ -70,6 +71,7 @@ import org.zkoss.zul.Row; import org.zkoss.zul.RowRenderer; import org.zkoss.zul.SimpleListModel; import org.zkoss.zul.Tab; +import org.zkoss.zul.api.Tabpanel; /** * Controller for {@link ResourceAllocation} view. @@ -119,6 +121,8 @@ public class ResourceAllocationController extends GenericForwardComposer { private Tab workerSearchTab; + private Tabpanel tabpanel; + public static void registerNeededScripts() { getScriptsRegister() .register(ScriptsRequiredByAdvancedAllocation.class); @@ -132,6 +136,7 @@ public class ResourceAllocationController extends GenericForwardComposer { @Override public void doAfterCompose(Component comp) throws Exception { super.doAfterCompose(comp); + tabpanel = (Tabpanel) comp; allResourcesPerDay = new Decimalbox(); makeReadyInputsForCalculationTypes(); prepareCalculationTypesGrid(); @@ -561,4 +566,9 @@ public class ResourceAllocationController extends GenericForwardComposer { resourceAllocationModel.accept(allocation); } + public void setStartDate(Date date) { + resourceAllocationModel.setStartDate(date); + formBinder.setStartDate(date); + } + } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/ResourceAllocationModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/ResourceAllocationModel.java index 230f5e15e..79df040af 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/ResourceAllocationModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/ResourceAllocationModel.java @@ -403,4 +403,11 @@ public class ResourceAllocationModel implements IResourceAllocationModel { return AggregatedHoursGroup.sum(task.getAggregatedByCriterions()); } + @Override + public void setStartDate(Date date) { + if (task != null) { + task.setStartDate(date); + } + } + } 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 8221c7eea..303e6b0a4 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 @@ -22,6 +22,8 @@ package org.navalplanner.web.planner.taskedition; import static org.navalplanner.web.I18nHelper._; +import java.util.Date; + import org.joda.time.LocalDate; import org.navalplanner.business.common.exceptions.ValidationException; import org.navalplanner.business.planner.entities.AggregateOfResourceAllocations; @@ -294,4 +296,18 @@ public class EditTaskController extends GenericForwardComposer { return (taskElement instanceof Task); } + public Date getStartConstraintDate() { + if ((taskElement == null) || (!isTask())) { + return null; + } + + return ((Task) taskElement).getStartConstraint().getConstraintDate(); + } + + public void setStartConstraintDate(Date date) { + if ((taskElement != null) && (isTask())) { + resourceAllocationController.setStartDate(date); + } + } + } \ No newline at end of file diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/taskedition/TaskPropertiesController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/taskedition/TaskPropertiesController.java index 141f47fe1..540b4382f 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/taskedition/TaskPropertiesController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/taskedition/TaskPropertiesController.java @@ -204,12 +204,6 @@ public class TaskPropertiesController extends GenericForwardComposer { .getStartConstraintType(); startConstraintTypes.setSelectedItemApi(findComboWithType(type)); startConstraintDate.setVisible(type.isAssociatedDateRequired()); - - Date constraintDate = task.getStartConstraint() - .getConstraintDate(); - if (constraintDate != null) { - startConstraintDate.setValue(constraintDate); - } } private Comboitem findComboWithType(StartConstraintType type) { diff --git a/navalplanner-webapp/src/main/webapp/planner/order.zul b/navalplanner-webapp/src/main/webapp/planner/order.zul index 191e3db79..83682a33f 100644 --- a/navalplanner-webapp/src/main/webapp/planner/order.zul +++ b/navalplanner-webapp/src/main/webapp/planner/order.zul @@ -91,7 +91,8 @@ - +