diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderElement.java b/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderElement.java index 83550baef..09befc1b7 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderElement.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderElement.java @@ -1096,7 +1096,7 @@ public abstract class OrderElement extends IntegrationEntity implements return false; } - protected boolean checkAncestorsNoOtherLabelRepeated(Label newLabel) { + public boolean checkAncestorsNoOtherLabelRepeated(Label newLabel) { for (Label label : labels) { if (label.isEqualTo(newLabel)) { return false; diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/templates/entities/OrderElementTemplate.java b/navalplanner-business/src/main/java/org/navalplanner/business/templates/entities/OrderElementTemplate.java index 976792c73..dde331df7 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/templates/entities/OrderElementTemplate.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/templates/entities/OrderElementTemplate.java @@ -241,8 +241,10 @@ public abstract class OrderElementTemplate extends BaseEntity implements private void setupCriterionRequirements(OrderElement orderElement) { for (DirectCriterionRequirement each : getDirectCriterionRequirements()) { - orderElement.addCriterionRequirement(DirectCriterionRequirement - .copyFrom(each, orderElement)); + if (orderElement.canAddCriterionRequirement(each)) { + orderElement.addCriterionRequirement(DirectCriterionRequirement + .copyFrom(each, orderElement)); + } } } @@ -255,7 +257,9 @@ public abstract class OrderElementTemplate extends BaseEntity implements private void setupLabels(OrderElement orderElement) { for (Label each : getLabels()) { - orderElement.addLabel(each); + if (orderElement.checkAncestorsNoOtherLabelRepeated(each)) { + orderElement.addLabel(each); + } } }