From 5e5df4e16878b307901154f23a2a2b87b249d3b1 Mon Sep 17 00:00:00 2001 From: Manuel Rego Casasnovas Date: Mon, 20 Feb 2012 15:43:10 +0100 Subject: [PATCH] Bug #1374: Move capacity field to calendar tab in order to be edited together FEA: ItEr76S04BugFixing --- .../BaseCalendarEditionController.java | 12 ++++++++ .../web/calendars/BaseCalendarModel.java | 30 +++++++++++++++++++ .../web/calendars/IBaseCalendarModel.java | 6 ++++ .../web/resources/worker/IWorkerModel.java | 4 --- .../worker/WorkerCRUDController.java | 18 ----------- .../web/resources/worker/WorkerModel.java | 16 ---------- .../src/main/webapp/calendars/_edition.zul | 4 +++ .../main/webapp/resources/worker/_edition.zul | 4 --- 8 files changed, 52 insertions(+), 42 deletions(-) diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/calendars/BaseCalendarEditionController.java b/libreplan-webapp/src/main/java/org/libreplan/web/calendars/BaseCalendarEditionController.java index d5ff6aa1b..6d4fca3b7 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/calendars/BaseCalendarEditionController.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/calendars/BaseCalendarEditionController.java @@ -1550,4 +1550,16 @@ public abstract class BaseCalendarEditionController extends } } + public boolean isVirtualWorker() { + return baseCalendarModel.isVirtualWorker(); + } + + public Integer getCapacity() { + return baseCalendarModel.getCapacity(); + } + + public void setCapacity(Integer capacity) { + baseCalendarModel.setCapacity(capacity); + } + } diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/calendars/BaseCalendarModel.java b/libreplan-webapp/src/main/java/org/libreplan/web/calendars/BaseCalendarModel.java index 935102e32..038c6df79 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/calendars/BaseCalendarModel.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/calendars/BaseCalendarModel.java @@ -856,4 +856,34 @@ public class BaseCalendarModel extends IntegrationEntityModel implements return false; } + @Override + public boolean isVirtualWorker() { + if (baseCalendar == null) { + return false; + } + if (baseCalendar instanceof ResourceCalendar) { + ResourceCalendar resourceCalendar = (ResourceCalendar) baseCalendar; + return (resourceCalendar.getResource() != null) + && resourceCalendar.getResource().isVirtual(); + } + return false; + } + + @Override + public Integer getCapacity() { + if (isVirtualWorker()) { + ResourceCalendar resourceCalendar = (ResourceCalendar) baseCalendar; + return resourceCalendar.getCapacity(); + } + return 1; + } + + @Override + public void setCapacity(Integer capacity) { + if (isVirtualWorker()) { + ResourceCalendar resourceCalendar = (ResourceCalendar) baseCalendar; + resourceCalendar.setCapacity(capacity); + } + } + } diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/calendars/IBaseCalendarModel.java b/libreplan-webapp/src/main/java/org/libreplan/web/calendars/IBaseCalendarModel.java index 2ee470dd4..7596e243e 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/calendars/IBaseCalendarModel.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/calendars/IBaseCalendarModel.java @@ -220,4 +220,10 @@ public interface IBaseCalendarModel extends IIntegrationEntityModel { boolean isOwnExceptionDay(); + boolean isVirtualWorker(); + + Integer getCapacity(); + + void setCapacity(Integer capacity); + } diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/resources/worker/IWorkerModel.java b/libreplan-webapp/src/main/java/org/libreplan/web/resources/worker/IWorkerModel.java index f2cd9d8de..e3ee56cd1 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/resources/worker/IWorkerModel.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/resources/worker/IWorkerModel.java @@ -132,10 +132,6 @@ public interface IWorkerModel extends IIntegrationEntityModel { BaseCalendar getDefaultCalendar(); - Integer getCapacity(); - - void setCapacity(Integer capacity); - public List getFilteredWorker(ResourcePredicate predicate); public List getAllCurrentWorkers(); diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/resources/worker/WorkerCRUDController.java b/libreplan-webapp/src/main/java/org/libreplan/web/resources/worker/WorkerCRUDController.java index f2969a0d9..13eea9a06 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/resources/worker/WorkerCRUDController.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/resources/worker/WorkerCRUDController.java @@ -216,9 +216,6 @@ public class WorkerCRUDController extends GenericForwardComposer implements return false; } } - if (workerModel.getWorker().isVirtual()) { - workerModel.setCapacity(getVirtualWorkerCapacity()); - } if (workerModel.getCalendar() == null) { createCalendar(); } @@ -517,7 +514,6 @@ public class WorkerCRUDController extends GenericForwardComposer implements @Override public void save() { validateCalendarExceptionCodes(); - Integer capacity = workerModel.getCapacity(); ResourceCalendar calendar = (ResourceCalendar) resourceCalendarModel .getBaseCalendar(); if (calendar != null) { @@ -525,7 +521,6 @@ public class WorkerCRUDController extends GenericForwardComposer implements workerModel.setCalendar(calendar); } reloadCurrentWindow(); - workerModel.setCapacity(capacity); } @Override @@ -603,19 +598,6 @@ public class WorkerCRUDController extends GenericForwardComposer implements } } - public Integer getVirtualWorkerCapacity() { - if (isVirtualWorker()) { - if (this.workerModel.getCalendar() != null) { - return this.workerModel.getCapacity(); - } - } - return 1; - } - - public void setVirtualWorkerCapacity(Integer capacity) { - this.workerModel.setCapacity(capacity); - } - /** * Operations to filter the machines by multiple filters */ diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/resources/worker/WorkerModel.java b/libreplan-webapp/src/main/java/org/libreplan/web/resources/worker/WorkerModel.java index 2f5cbaba0..46d8033d0 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/resources/worker/WorkerModel.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/resources/worker/WorkerModel.java @@ -203,7 +203,6 @@ public class WorkerModel extends IntegrationEntityModel implements IWorkerModel if (virtual) { worker = VirtualWorker.create(""); - setCapacity(1); } else { worker = Worker.create(""); } @@ -547,21 +546,6 @@ public class WorkerModel extends IntegrationEntityModel implements IWorkerModel return null; } - @Override - public Integer getCapacity() { - if (getCalendar() != null) { - return getCalendar().getCapacity(); - } - return null; - } - - @Override - public void setCapacity(Integer capacity) { - if (getCalendar() != null) { - getCalendar().setCapacity(capacity); - } - } - public IAssignedCriterionsModel getAssignedCriterionsModel() { return assignedCriterionsModel; } diff --git a/libreplan-webapp/src/main/webapp/calendars/_edition.zul b/libreplan-webapp/src/main/webapp/calendars/_edition.zul index b61d68ca7..f96d633db 100644 --- a/libreplan-webapp/src/main/webapp/calendars/_edition.zul +++ b/libreplan-webapp/src/main/webapp/calendars/_edition.zul @@ -62,6 +62,10 @@ checked="@{calendarController.baseCalendar.codeAutogenerated}" /> + + diff --git a/libreplan-webapp/src/main/webapp/resources/worker/_edition.zul b/libreplan-webapp/src/main/webapp/resources/worker/_edition.zul index a4eaa1928..cf6d17fce 100644 --- a/libreplan-webapp/src/main/webapp/resources/worker/_edition.zul +++ b/libreplan-webapp/src/main/webapp/resources/worker/_edition.zul @@ -85,10 +85,6 @@ onSelect="controller.setLimitingResource(self.selectedItem.value);" disabled="@{controller.isEditing}" /> - -