From 8208d6a95cc2e940f9815a229bcf0bf8ea49eac4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Aragunde=20P=C3=A9rez?= Date: Wed, 10 Mar 2010 12:39:45 +0100 Subject: [PATCH] ItEr50S13AdaptacionServiciosRESTItEr49S18: Autogeneration of the codes in the Label edition page can be enabled or disabled using a checkbox. --- .../web/labels/ILabelTypeModel.java | 11 ++++++ .../web/labels/LabelTypeCRUDController.java | 7 ++++ .../web/labels/LabelTypeModel.java | 34 +++++++++++++++++-- .../src/main/webapp/labels/_editLabelType.zul | 10 ++++-- 4 files changed, 58 insertions(+), 4 deletions(-) diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/labels/ILabelTypeModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/labels/ILabelTypeModel.java index ca58a36d3..aad7a2833 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/labels/ILabelTypeModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/labels/ILabelTypeModel.java @@ -94,4 +94,15 @@ public interface ILabelTypeModel { */ boolean labelNameIsUnique(String value); + /** + * Checks if the autogeneration of codes for Labels is active + * @return + */ + boolean isCodeGenerated(); + + /** + * Sets the state of the autogeneration of codes for Labels + */ + void setCodeGenerated(boolean codeGenerated); + } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/labels/LabelTypeCRUDController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/labels/LabelTypeCRUDController.java index cbeee3278..26cca2ed4 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/labels/LabelTypeCRUDController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/labels/LabelTypeCRUDController.java @@ -340,4 +340,11 @@ public class LabelTypeCRUDController extends GenericForwardComposer { } } + public boolean isCodeGenerated() { + return labelTypeModel.isCodeGenerated(); + } + + public void setCodeGenerated(boolean codeGenerated) { + labelTypeModel.setCodeGenerated(codeGenerated); + } } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/labels/LabelTypeModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/labels/LabelTypeModel.java index 15920250b..a369f7565 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/labels/LabelTypeModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/labels/LabelTypeModel.java @@ -27,6 +27,7 @@ import java.util.List; import org.apache.commons.lang.Validate; import org.hibernate.validator.InvalidValue; +import org.navalplanner.business.common.daos.IConfigurationDAO; import org.navalplanner.business.common.exceptions.InstanceNotFoundException; import org.navalplanner.business.common.exceptions.ValidationException; import org.navalplanner.business.labels.daos.ILabelTypeDAO; @@ -49,8 +50,13 @@ public class LabelTypeModel implements ILabelTypeModel { @Autowired private ILabelTypeDAO labelTypeDAO; + @Autowired + private IConfigurationDAO configurationDAO; + private LabelType labelType; + private boolean codeGenerated; + public LabelTypeModel() { } @@ -72,8 +78,15 @@ public class LabelTypeModel implements ILabelTypeModel { } @Override + @Transactional(readOnly=true) public void initCreate() { - labelType = LabelType.create(""); + codeGenerated = configurationDAO.getConfiguration().getGenerateCodeForLabel(); + if(codeGenerated) { + labelType = LabelType.create(""); + } + else { + labelType = LabelType.create("", ""); + } } @Override @@ -134,6 +147,7 @@ public class LabelTypeModel implements ILabelTypeModel { public void initEdit(LabelType labelType) { Validate.notNull(labelType); this.labelType = getFromDB(labelType); + codeGenerated = configurationDAO.getConfiguration().getGenerateCodeForLabel(); } private LabelType getFromDB(LabelType labelType) { @@ -169,7 +183,13 @@ public class LabelTypeModel implements ILabelTypeModel { @Override public void addLabel(String value) { - Label label = Label.create(value); + Label label; + if(codeGenerated) { + label = Label.create(value); + } + else { + label = Label.create("", value); + } label.setType(labelType); labelType.addLabel(label); } @@ -191,4 +211,14 @@ public class LabelTypeModel implements ILabelTypeModel { return (count == 1); } + @Override + public boolean isCodeGenerated() { + return codeGenerated; + } + + @Override + public void setCodeGenerated(boolean codeGenerated) { + this.codeGenerated = codeGenerated; + } + } diff --git a/navalplanner-webapp/src/main/webapp/labels/_editLabelType.zul b/navalplanner-webapp/src/main/webapp/labels/_editLabelType.zul index 6b950b946..bfc2122f5 100644 --- a/navalplanner-webapp/src/main/webapp/labels/_editLabelType.zul +++ b/navalplanner-webapp/src/main/webapp/labels/_editLabelType.zul @@ -44,8 +44,13 @@ @@ -76,6 +81,7 @@ constraint="no empty:${i18n:_('cannot be null or empty')}" />