diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementTreeController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementTreeController.java index d4ae6aec1..5bed92a68 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementTreeController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementTreeController.java @@ -990,4 +990,16 @@ public class OrderElementTreeController extends TreeController { } } + @Override + protected void refreshHoursBox(OrderElement node) { + List parentNodes = getModel().getParents(node); + // Remove the last element because it's an + // Order node, not an OrderElement + parentNodes.remove(parentNodes.size() - 1); + for (OrderElement parent : parentNodes) { + getRenderer().hoursIntBoxByOrderElement.get(parent) + .setValue(parent.getWorkHours()); + } + } + } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/templates/TemplatesTreeController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/templates/TemplatesTreeController.java index 4531ef2e0..fe09cfa45 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/templates/TemplatesTreeController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/templates/TemplatesTreeController.java @@ -220,4 +220,9 @@ public class TemplatesTreeController extends return tooltipText.toString(); } + @Override + protected void refreshHoursBox(OrderElementTemplate node) { + // we do nothing, since there isn't an hours box in this tree + } + } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/tree/TreeController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/tree/TreeController.java index 8cbf6d2f3..f980932b9 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/tree/TreeController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/tree/TreeController.java @@ -189,8 +189,10 @@ public abstract class TreeController> extends // Parse hours try { if (tree.getSelectedCount() == 1) { - getModel().addElementAt(getSelectedNode(), name.getValue(), + T node = getSelectedNode(); + getModel().addElementAt(node, name.getValue(), hours.getValue()); + refreshHoursBox(node); } else { getModel().addElement(name.getValue(), hours.getValue()); } @@ -204,6 +206,7 @@ public abstract class TreeController> extends name.focus(); } + protected abstract void refreshHoursBox(T node); protected abstract void filterByPredicateIfAny();