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')}" />