From 9f22394266a9da6291f3194c9d921fa5e60f79ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Aragunde=20P=C3=A9rez?= Date: Mon, 12 Apr 2010 13:59:40 +0200 Subject: [PATCH] ItEr53S10AdaptacionServiciosRESTItEr52S10: Added the checkbox 'generate code' to the Workers administration page. Code field is enabled/disabled when the checkbox changes. Code is are re-generated when the checkbox is activated and the worker isn't saved yet. The value of the checkbox is persistent (as an attribute of Resource). --- .../business/resources/entities/Resource.java | 10 ++++++++++ .../business/resources/entities/Resources.hbm.xml | 2 ++ .../web/resources/worker/WorkerCRUDController.java | 12 ++++++++++++ .../web/resources/worker/WorkerModel.java | 4 ++++ .../src/main/webapp/resources/worker/_edition.zul | 9 ++++++++- 5 files changed, 36 insertions(+), 1 deletion(-) diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/Resource.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/Resource.java index 7500efaab..614e7394c 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/Resource.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/Resource.java @@ -96,6 +96,8 @@ public abstract class Resource extends IntegrationEntity { private Boolean limitingResource = Boolean.FALSE; + private Boolean generateCode = false; + private void clearCachedData() { assignmentsByDayCached = null; } @@ -1058,4 +1060,12 @@ public abstract class Resource extends IntegrationEntity { return (Boolean.TRUE.equals(isLimitingResource())) ? _("yes") : _("no"); } + public void setGenerateCode(Boolean generateCode) { + this.generateCode = generateCode; + } + + public Boolean getGenerateCode() { + return generateCode; + } + } diff --git a/navalplanner-business/src/main/resources/org/navalplanner/business/resources/entities/Resources.hbm.xml b/navalplanner-business/src/main/resources/org/navalplanner/business/resources/entities/Resources.hbm.xml index 7faba6d40..e09483ba5 100644 --- a/navalplanner-business/src/main/resources/org/navalplanner/business/resources/entities/Resources.hbm.xml +++ b/navalplanner-business/src/main/resources/org/navalplanner/business/resources/entities/Resources.hbm.xml @@ -15,6 +15,8 @@ + + diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/worker/WorkerCRUDController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/worker/WorkerCRUDController.java index fa4353714..7059b0380 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/worker/WorkerCRUDController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/worker/WorkerCRUDController.java @@ -49,6 +49,8 @@ import org.navalplanner.web.costcategories.ResourcesCostCategoryAssignmentContro import org.navalplanner.web.resources.search.ResourcePredicate; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.WrongValueException; +import org.zkoss.zk.ui.event.CheckEvent; +import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.util.GenericForwardComposer; import org.zkoss.zul.Combobox; import org.zkoss.zul.Comboitem; @@ -708,4 +710,14 @@ public class WorkerCRUDController extends GenericForwardComposer implements return (getWorker() != null && !getWorker().isNewObject()); } + public void onCheckGenerateCode(Event e) { + CheckEvent ce = (CheckEvent) e; + if(ce.isChecked()) { + //we have to auto-generate the code if it's unsaved + if(getWorker().isNewObject()) { + getWorker().setCodeAutogenerated(); + Util.reloadBindings(editWindow); + } + } + } } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/worker/WorkerModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/worker/WorkerModel.java index 664c802bc..69a8790bb 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/worker/WorkerModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/worker/WorkerModel.java @@ -168,6 +168,10 @@ public class WorkerModel implements IWorkerModel { } else { worker = Worker.create(); } + worker.setGenerateCode(configurationDAO.getConfiguration().getGenerateCodeForResources()); + if(!worker.getGenerateCode()) { + worker.setCode(""); + } localizationsAssigner = new MultipleCriterionActiveAssigner( criterionDAO, worker, PredefinedCriterionTypes.LOCATION_GROUP); diff --git a/navalplanner-webapp/src/main/webapp/resources/worker/_edition.zul b/navalplanner-webapp/src/main/webapp/resources/worker/_edition.zul index 13a9fb346..9b5350e72 100644 --- a/navalplanner-webapp/src/main/webapp/resources/worker/_edition.zul +++ b/navalplanner-webapp/src/main/webapp/resources/worker/_edition.zul @@ -43,7 +43,14 @@