diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/advance/AdvanceTypeCRUDController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/advance/AdvanceTypeCRUDController.java
index 37a4ec46f..7a07273ea 100644
--- a/navalplanner-webapp/src/main/java/org/navalplanner/web/advance/AdvanceTypeCRUDController.java
+++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/advance/AdvanceTypeCRUDController.java
@@ -260,4 +260,8 @@ public class AdvanceTypeCRUDController extends GenericForwardComposer {
save();
}
+ public boolean isImmutable() {
+ return advanceTypeModel.isImmutable();
+ }
+
}
diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/advance/AdvanceTypeModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/advance/AdvanceTypeModel.java
index 7e8a0fc8b..0bbbca1f2 100644
--- a/navalplanner-webapp/src/main/java/org/navalplanner/web/advance/AdvanceTypeModel.java
+++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/advance/AdvanceTypeModel.java
@@ -78,7 +78,7 @@ public class AdvanceTypeModel implements IAdvanceTypeModel {
@Transactional(readOnly = true)
public void prepareForEdit(AdvanceType advanceType) {
Validate.notNull(advanceType);
- checkCanBeModified(advanceType);
+ // checkCanBeModified(advanceType);
this.advanceType = getFromDB(advanceType);
}
@@ -176,4 +176,12 @@ public class AdvanceTypeModel implements IAdvanceTypeModel {
}
}
+ @Override
+ public boolean isImmutable() {
+ if (advanceType == null) {
+ return false;
+ }
+ return advanceType.isImmutable();
+ }
+
}
diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/advance/IAdvanceTypeModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/advance/IAdvanceTypeModel.java
index 270cf5ad2..28fe83afb 100644
--- a/navalplanner-webapp/src/main/java/org/navalplanner/web/advance/IAdvanceTypeModel.java
+++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/advance/IAdvanceTypeModel.java
@@ -123,4 +123,6 @@ public interface IAdvanceTypeModel {
void setPercentage(Boolean percentage);
Boolean getPercentage();
+
+ boolean isImmutable();
}
diff --git a/navalplanner-webapp/src/main/webapp/advance/_editAdvanceTypes.zul b/navalplanner-webapp/src/main/webapp/advance/_editAdvanceTypes.zul
index c34bf586f..c49b32f32 100644
--- a/navalplanner-webapp/src/main/webapp/advance/_editAdvanceTypes.zul
+++ b/navalplanner-webapp/src/main/webapp/advance/_editAdvanceTypes.zul
@@ -34,11 +34,13 @@
-
+
-
+
@@ -49,7 +51,8 @@
+ value = "@{controller.advanceType.unitPrecision}" constraint = "@{controller.lessThanDefaultMaxValue}"
+ disabled="@{controller.immutable}" />
@@ -57,7 +60,8 @@
-
+
@@ -67,10 +71,12 @@
+ sclass="save-button global-action"
+ disabled="@{controller.immutable}" />
+ sclass="save-button global-action"
+ disabled="@{controller.immutable}" />
diff --git a/navalplanner-webapp/src/main/webapp/advance/_listAdvanceTypes.zul b/navalplanner-webapp/src/main/webapp/advance/_listAdvanceTypes.zul
index 5846f0791..93a3eeb4e 100644
--- a/navalplanner-webapp/src/main/webapp/advance/_listAdvanceTypes.zul
+++ b/navalplanner-webapp/src/main/webapp/advance/_listAdvanceTypes.zul
@@ -36,7 +36,7 @@