From 3d8fd0c2185c24a9ac8654861cdb4854fa0c95e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Tue, 1 Feb 2011 18:02:06 +0100 Subject: [PATCH] [Bug #833] Fix bug Now the recommended allocation doesn't have toggle behaviour. FEA: ItEr69S04BugFixing --- .../allocation/AllocationRowsHandler.java | 1 + .../web/planner/allocation/FormBinder.java | 26 +++++++++++++------ .../ResourceAllocationController.java | 4 +-- .../planner/allocation/TaskInformation.java | 7 ++--- 4 files changed, 23 insertions(+), 15 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 e31435d52..07f287b63 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 @@ -195,6 +195,7 @@ public class AllocationRowsHandler { if (row.isModifying()) { requestedToRemove.add(row.getOrigin()); } + formBinder.rowRemoved(); } public Set> getAllocationsRequestedToRemove() { 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 026fdc122..77e978693 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 @@ -120,8 +120,6 @@ public class FormBinder { private Button btnRecommendedAllocation; - private boolean recommendedAllocationIsPressed = false; - private ProportionalDistributor hoursDistributorForRecommendedAllocation; private ResourcesPerDay.ResourcesPerDayDistributor resourcesPerDayDistributorForRecommendedAllocation; @@ -231,6 +229,7 @@ public class FormBinder { workableDaysAndDatesBinder.applyDisabledRules(); allResourcesPerDayVisibilityRule(); applyDisabledRulesOnRows(); + this.btnRecommendedAllocation.setDisabled(recommendedAllocation); } private void applyDisabledRulesOnRows() { @@ -658,16 +657,22 @@ public class FormBinder { } } + public void setRecommendedAllocation(Button recommendedAllocation) { + this.btnRecommendedAllocation = recommendedAllocation; + Util.ensureUniqueListener(recommendedAllocation, Events.ON_CLICK, + new EventListener() { + @Override + public void onEvent(Event event) throws Exception { + activatingRecommendedAllocation(); + } + }); + } + public EventListener getRecommendedAllocationListener() { return new EventListener() { @Override public void onEvent(Event event) throws Exception { - recommendedAllocationIsPressed = !recommendedAllocationIsPressed; - if (recommendedAllocationIsPressed) { - activatingRecommendedAllocation(); - } else { - deactivatingRecommendedAllocation(); - } + activatingRecommendedAllocation(); } }; } @@ -713,6 +718,10 @@ public class FormBinder { AllocationRow.assignResourcesPerDay(rows, forRows); } + public void rowRemoved() { + deactivatingRecommendedAllocation(); + } + private void deactivatingRecommendedAllocation() { this.recommendedAllocation = false; allHoursInput @@ -847,4 +856,5 @@ public class FormBinder { this.behaviour = behaviour; } + } 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 abc180580..48c644446 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 @@ -255,8 +255,8 @@ public class ResourceAllocationController extends GenericForwardComposer { private void initializeTaskInformationComponent() { taskInformation.initializeGridTaskRows(resourceAllocationModel .getHoursAggregatedByCriterions()); - taskInformation.onRecomendAllocation(formBinder - .getRecommendedAllocationListener()); + formBinder.setRecommendedAllocation(taskInformation + .getBtnRecommendedAllocation()); taskInformation.onCalculateTotalHours(new ITotalHoursCalculationListener() { @Override diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/TaskInformation.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/TaskInformation.java index f3db8d515..3f0901ce0 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/TaskInformation.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/TaskInformation.java @@ -29,8 +29,6 @@ import org.zkoss.ganttz.timetracker.ICellForDetailItemRenderer; import org.zkoss.ganttz.timetracker.OnColumnsRowRenderer; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.HtmlMacroComponent; -import org.zkoss.zk.ui.event.EventListener; -import org.zkoss.zk.ui.event.Events; import org.zkoss.zul.Button; import org.zkoss.zul.Footer; import org.zkoss.zul.Grid; @@ -75,9 +73,8 @@ public class TaskInformation extends HtmlMacroComponent { gridTaskRows.setRowRenderer(newTaskRowsRenderer()); } - public void onRecomendAllocation(EventListener eventListener) { - Util.ensureUniqueListener(btnRecommendedAllocation, Events.ON_CLICK, - eventListener); + public Button getBtnRecommendedAllocation() { + return btnRecommendedAllocation; } public void showRecomendedAllocationButton() {