From 72ada7c634971bb0af3f800860e62183d16207bc Mon Sep 17 00:00:00 2001 From: Manuel Rego Casasnovas Date: Wed, 30 Jan 2013 14:01:39 +0100 Subject: [PATCH] jira-integration: Disable hours edition in JIRA issues For tasks that are JIRA issues the hours fields will be readonly. FEA: ItEr77S16JiraAndTimConnectorContributionIntegration --- .../libreplan/business/orders/entities/OrderLineGroup.java | 5 +++++ .../business/templates/entities/OrderElementTemplate.java | 5 +++++ .../business/templates/entities/OrderLineGroupTemplate.java | 5 +++++ .../main/java/org/libreplan/business/trees/ITreeNode.java | 2 ++ ...AssignedCriterionRequirementToOrderElementController.java | 4 +++- .../src/main/java/org/libreplan/web/tree/TreeController.java | 3 +-- 6 files changed, 21 insertions(+), 3 deletions(-) diff --git a/libreplan-business/src/main/java/org/libreplan/business/orders/entities/OrderLineGroup.java b/libreplan-business/src/main/java/org/libreplan/business/orders/entities/OrderLineGroup.java index 5d29b8146..9c9166d8c 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/orders/entities/OrderLineGroup.java +++ b/libreplan-business/src/main/java/org/libreplan/business/orders/entities/OrderLineGroup.java @@ -163,6 +163,11 @@ public class OrderLineGroup extends OrderElement implements return getThis().isUpdatedFromTimesheets(); } + @Override + public boolean isJiraIssue() { + return getThis().isJiraIssue(); + } + } public static OrderLineGroup create() { diff --git a/libreplan-business/src/main/java/org/libreplan/business/templates/entities/OrderElementTemplate.java b/libreplan-business/src/main/java/org/libreplan/business/templates/entities/OrderElementTemplate.java index 9d05919f3..7b5f9ec78 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/templates/entities/OrderElementTemplate.java +++ b/libreplan-business/src/main/java/org/libreplan/business/templates/entities/OrderElementTemplate.java @@ -625,4 +625,9 @@ public abstract class OrderElementTemplate extends BaseEntity implements return false; } + @Override + public boolean isJiraIssue() { + return false; + } + } diff --git a/libreplan-business/src/main/java/org/libreplan/business/templates/entities/OrderLineGroupTemplate.java b/libreplan-business/src/main/java/org/libreplan/business/templates/entities/OrderLineGroupTemplate.java index f572dfa88..69ac9c75c 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/templates/entities/OrderLineGroupTemplate.java +++ b/libreplan-business/src/main/java/org/libreplan/business/templates/entities/OrderLineGroupTemplate.java @@ -105,6 +105,11 @@ public class OrderLineGroupTemplate extends OrderElementTemplate implements return false; } + @Override + public boolean isJiraIssue() { + return false; + } + } public static OrderLineGroupTemplate createNew() { diff --git a/libreplan-business/src/main/java/org/libreplan/business/trees/ITreeNode.java b/libreplan-business/src/main/java/org/libreplan/business/trees/ITreeNode.java index bd6facd23..ab61034c4 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/trees/ITreeNode.java +++ b/libreplan-business/src/main/java/org/libreplan/business/trees/ITreeNode.java @@ -62,4 +62,6 @@ public interface ITreeNode> { boolean isUpdatedFromTimesheets(); + boolean isJiraIssue(); + } diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/orders/criterionrequirements/AssignedCriterionRequirementToOrderElementController.java b/libreplan-webapp/src/main/java/org/libreplan/web/orders/criterionrequirements/AssignedCriterionRequirementToOrderElementController.java index e619eb0b2..439046061 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/orders/criterionrequirements/AssignedCriterionRequirementToOrderElementController.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/orders/criterionrequirements/AssignedCriterionRequirementToOrderElementController.java @@ -207,7 +207,9 @@ public class AssignedCriterionRequirementToOrderElementController extends } public boolean isEditableHoursGroup() { - return getElement() != null && getElement() instanceof OrderLine; + OrderElement element = getElement(); + return element != null && element instanceof OrderLine + && !element.isJiraIssue(); } } diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/tree/TreeController.java b/libreplan-webapp/src/main/java/org/libreplan/web/tree/TreeController.java index 8059f03ae..e883526fa 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/tree/TreeController.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/tree/TreeController.java @@ -1006,8 +1006,7 @@ public abstract class TreeController> extends public void addHoursCell(final T currentElement) { Intbox intboxHours = buildHoursIntboxFor(currentElement); hoursIntBoxByElement.put(currentElement, intboxHours); - // TODO: Disable for JIRA issues - if (readOnly) { + if (readOnly || currentElement.isJiraIssue()) { intboxHours.setDisabled(true); } Treecell cellHours = addCell(intboxHours);