From 570129aea3d829bc3eaf13a4bf6a7263765e5114 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Wed, 25 Nov 2009 00:10:19 +0100 Subject: [PATCH] ItEr36S11CUCreacionUnidadesPlanificacionItEr35S12: The user is informed of the allocations that couldn't be added using a MessagesForUser --- .../web/planner/allocation/FormBinder.java | 29 ++++++++++++------- .../ResourceAllocationController.java | 1 + .../ResourceAllocationsBeingEdited.java | 2 +- 3 files changed, 21 insertions(+), 11 deletions(-) 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 a03916147..0546f1136 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 @@ -34,6 +34,8 @@ import org.navalplanner.business.planner.entities.AggregateOfResourceAllocations import org.navalplanner.business.planner.entities.CalculatedValue; import org.navalplanner.business.resources.entities.Criterion; import org.navalplanner.business.resources.entities.Resource; +import org.navalplanner.web.common.IMessagesForUser; +import org.navalplanner.web.common.Level; import org.navalplanner.web.resourceload.ResourceLoadModel; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.WrongValueException; @@ -88,6 +90,8 @@ class FormBinder { private List inputsAssociatedWithOnChangeEnableApply = new ArrayList(); + private IMessagesForUser messagesForUser; + public FormBinder( ResourceAllocationsBeingEdited resourceAllocationsBeingEdited) { this.resourceAllocationsBeingEdited = resourceAllocationsBeingEdited; @@ -235,8 +239,8 @@ class FormBinder { _("it must be greater than zero")); } - public void markRepeatedResource(List resources) { - throw new WrongValueException(allocationsList, _( + public void markRepeatedResources(List resources) { + messagesForUser.showMessage(Level.ERROR, _( "{0} already assigned to resource allocation list", StringUtils .join(getResourcesDescriptions(resources), ", "))); } @@ -251,13 +255,19 @@ class FormBinder { public void markNoWorkersMatchedByCriterions( Collection criterions) { - throw new WrongValueException( - allocationsList, - _( + messagesForUser + .showMessage( + Level.ERROR, + _( "there are no workers for required criteria: {0}. So the generic allocation can't be added", ResourceLoadModel.getName(criterions))); } + public void markThereisAlreadyAssignmentWith(Set criterions) { + messagesForUser.showMessage(Level.ERROR, + _("for criterions {0} already exists an allocation")); + } + public void markThereMustBeAtLeastOneNoEmptyAllocation() { throw new WrongValueException(allocationsList, _("at least one no empty allocation is needed")); @@ -267,6 +277,10 @@ class FormBinder { this.allocationsList = allocationsList; } + public void setMessagesForUser(IMessagesForUser messages) { + this.messagesForUser = messages; + } + public void detach() { this.applyButton.removeEventListener(Events.ON_CLICK, applyButtonListener); @@ -276,9 +290,4 @@ class FormBinder { } } - public void markThereisAlreadyAssignmentWith(Set criterions) { - throw new WrongValueException(allocationsList, - _("for criterions {0} already exists an allocation")); - } - } 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 94e268ae9..a956696f6 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 @@ -153,6 +153,7 @@ public class ResourceAllocationController extends GenericForwardComposer { formBinder.setTaskElapsedDays(taskElapsedDays); formBinder.setApplyButton(applyButton); formBinder.setAllocationsList(allocationsList); + formBinder.setMessagesForUser(messagesForUser); CalculationTypeRadio calculationTypeRadio = CalculationTypeRadio .from(formBinder.getCalculatedValue()); calculationTypeRadio.doTheSelectionOn(calculationTypeSelector); diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/ResourceAllocationsBeingEdited.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/ResourceAllocationsBeingEdited.java index 555f5bde9..0d7c555d1 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/ResourceAllocationsBeingEdited.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/ResourceAllocationsBeingEdited.java @@ -101,7 +101,7 @@ public class ResourceAllocationsBeingEdited { } } if (!alreadyPresent.isEmpty()) { - formBinder.markRepeatedResource(alreadyPresent); + formBinder.markRepeatedResources(alreadyPresent); } }