From 39f1f63935e60ed82ecc2e2668e41806389aeb59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Aragunde=20P=C3=A9rez?= Date: Fri, 3 Feb 2012 13:23:53 +0100 Subject: [PATCH] Bug #1343: Mark closed projects with a special class in the gantt. This is a step previous to show these kind of tasks in a different way. FEA: ItEr76S04BugFixing --- .../main/java/org/zkoss/ganttz/TaskComponent.java | 3 +++ .../ganttz/data/DefaultFundamentalProperties.java | 5 +++++ .../ganttz/data/ITaskFundamentalProperties.java | 2 ++ .../src/main/java/org/zkoss/ganttz/data/Task.java | 4 ++++ .../business/planner/entities/TaskElement.java | 14 ++++++++++++++ .../libreplan/web/planner/TaskElementAdapter.java | 5 +++++ 6 files changed, 33 insertions(+) diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/TaskComponent.java b/ganttzk/src/main/java/org/zkoss/ganttz/TaskComponent.java index 32743e614..5ccf8fa13 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/TaskComponent.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/TaskComponent.java @@ -222,6 +222,9 @@ public class TaskComponent extends Div implements AfterCompose { cssClass += task.isLimitingAndHasDayAssignments() ? " limiting-assigned " : " limiting-unassigned "; } + if (task.belongsClosedProject()) { + cssClass += " project-closed "; + } return cssClass; } diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/data/DefaultFundamentalProperties.java b/ganttzk/src/main/java/org/zkoss/ganttz/data/DefaultFundamentalProperties.java index 75a6949c1..046f52f18 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/data/DefaultFundamentalProperties.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/data/DefaultFundamentalProperties.java @@ -279,4 +279,9 @@ public class DefaultFundamentalProperties implements ITaskFundamentalProperties return false; } + @Override + public boolean belongsClosedProject() { + return false; + } + } diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/data/ITaskFundamentalProperties.java b/ganttzk/src/main/java/org/zkoss/ganttz/data/ITaskFundamentalProperties.java index 1c35b2de9..2952a9af3 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/data/ITaskFundamentalProperties.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/data/ITaskFundamentalProperties.java @@ -116,4 +116,6 @@ public interface ITaskFundamentalProperties { boolean isManualAnyAllocation(); + public boolean belongsClosedProject(); + } diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/data/Task.java b/ganttzk/src/main/java/org/zkoss/ganttz/data/Task.java index 0ee220112..d61a6cfe7 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/data/Task.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/data/Task.java @@ -488,4 +488,8 @@ public abstract class Task implements ITaskFundamentalProperties { return fundamentalProperties.isManualAnyAllocation(); } + public boolean belongsClosedProject() { + return fundamentalProperties.belongsClosedProject(); + } + } diff --git a/libreplan-business/src/main/java/org/libreplan/business/planner/entities/TaskElement.java b/libreplan-business/src/main/java/org/libreplan/business/planner/entities/TaskElement.java index 3a0617061..81c57fca5 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/planner/entities/TaskElement.java +++ b/libreplan-business/src/main/java/org/libreplan/business/planner/entities/TaskElement.java @@ -30,6 +30,7 @@ import java.util.Collection; import java.util.Collections; import java.util.Comparator; import java.util.Date; +import java.util.EnumSet; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -46,6 +47,7 @@ import org.libreplan.business.common.BaseEntity; import org.libreplan.business.common.entities.ProgressType; import org.libreplan.business.orders.entities.Order; import org.libreplan.business.orders.entities.OrderElement; +import org.libreplan.business.orders.entities.OrderStatusEnum; import org.libreplan.business.orders.entities.TaskSource; import org.libreplan.business.planner.entities.Dependency.Type; import org.libreplan.business.resources.daos.IResourcesSearcher; @@ -626,6 +628,18 @@ public abstract class TaskElement extends BaseEntity { return "assigned"; } + public Boolean belongsClosedProject() { + EnumSet CLOSED = EnumSet.of(OrderStatusEnum.CANCELLED, + OrderStatusEnum.FINISHED, OrderStatusEnum.STORED); + + Order order = getOrderElement().getOrder(); + if(CLOSED.contains(order.getState())) { + return true; + } + + return false; + } + public abstract boolean hasLimitedResourceAllocation(); public void removePredecessorsDayAssignmentsFor(Scenario scenario) { diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/planner/TaskElementAdapter.java b/libreplan-webapp/src/main/java/org/libreplan/web/planner/TaskElementAdapter.java index c8b23e458..3b424f173 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/planner/TaskElementAdapter.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/planner/TaskElementAdapter.java @@ -1130,6 +1130,11 @@ public class TaskElementAdapter { && ((Task) taskElement).isManualAnyAllocation(); } + @Override + public boolean belongsClosedProject() { + return taskElement.belongsClosedProject(); + } + } @Override