diff --git a/ganttzk/src/main/resources/web/ganttz/zul/leftTasksTree.zul b/ganttzk/src/main/resources/web/ganttz/zul/leftTasksTree.zul
index 1d0bb72e2..bf72428c0 100644
--- a/ganttzk/src/main/resources/web/ganttz/zul/leftTasksTree.zul
+++ b/ganttzk/src/main/resources/web/ganttz/zul/leftTasksTree.zul
@@ -18,6 +18,8 @@
along with this program. If not, see .
-->
+
\ No newline at end of file
diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/OrderPlanningModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/OrderPlanningModel.java
index e76b4fe25..f30057848 100644
--- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/OrderPlanningModel.java
+++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/OrderPlanningModel.java
@@ -209,6 +209,7 @@ public abstract class OrderPlanningModel implements IOrderPlanningModel {
.getAssociatedTasks()), resourceDAO.list(Resource.class));
forceLoadOfDependenciesCollections(planningState.getInitial());
forceLoadOfWorkingHours(planningState.getInitial());
+ forceLoadOfLabels(planningState.getInitial());
return new PlannerConfiguration(taskElementAdapter,
new TaskElementNavigator(), planningState.getInitial());
}
@@ -263,6 +264,12 @@ public abstract class OrderPlanningModel implements IOrderPlanningModel {
task.getDependenciesWithThisDestination().size();
}
+ private void forceLoadOfLabels(List initial) {
+ for (TaskElement taskElement : initial) {
+ taskElement.getOrderElement().getLabels().size();
+ }
+ }
+
// spring method injection
protected abstract ITaskElementAdapter getTaskElementAdapter();
diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/TaskElementAdapter.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/TaskElementAdapter.java
index 933d6412d..0a13d8b87 100644
--- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/TaskElementAdapter.java
+++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/TaskElementAdapter.java
@@ -29,8 +29,11 @@ import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import org.joda.time.LocalDate;
+import org.navalplanner.business.labels.daos.ILabelDAO;
+import org.navalplanner.business.labels.entities.Label;
import org.navalplanner.business.orders.daos.IOrderElementDAO;
import org.navalplanner.business.orders.entities.Order;
import org.navalplanner.business.orders.entities.OrderElement;
@@ -42,6 +45,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
import org.zkoss.ganttz.adapters.DomainDependency;
import org.zkoss.ganttz.data.DependencyType;
import org.zkoss.ganttz.data.ITaskFundamentalProperties;
@@ -65,6 +69,9 @@ public class TaskElementAdapter implements ITaskElementAdapter {
@Autowired
private IDayAssignmentDAO dayAssignmentDAO;
+ @Autowired
+ private ILabelDAO labelDAO;
+
@Override
public void setOrder(Order order) {
this.order = order;
@@ -224,12 +231,32 @@ public class TaskElementAdapter implements ITaskElementAdapter {
}
@Override
+ @Transactional(readOnly = true)
public String getTooltipText() {
- return "Advance percentage : " + getAdvancePercentage().multiply(new BigDecimal(100)).toString()
- + "% "
- + "Hours advance percentage : "
- + getHoursAdvancePercentage().multiply(new BigDecimal(100)).toString() + "%";
+ Set labels;
+
+ String tooltip = "Advance: "
+ + getAdvancePercentage().multiply(new BigDecimal(100))
+ .toString() + "% , ";
+ tooltip += "Hours invested: "
+ + getHoursAdvancePercentage().multiply(new BigDecimal(100))
+ .toString() + "% ";
+
+ if (taskElement.getOrderElement() != null) {
+ labels = taskElement.getOrderElement().getLabels();
+
+ if (labels.size() != 0) {
+ tooltip += "Labels: ";
+ for (Label label : labels) {
+ tooltip += label.getName() + ", ";
+ }
+ tooltip = (tooltip.substring(0, tooltip.length() - 2))
+ + ".";
+ }
+ }
+
+ return tooltip;
}
}