From 91a2ec0e65afd3fcaf06b53ef0b2766442cc4900 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Tue, 19 Jan 2010 19:13:07 +0100 Subject: [PATCH] ItEr44S08ImplantacionAplicacionItEr43S09: Fixing bug. The advances order's tab was not being refreshed with newly added indirect advance assignments --- .../orders/IManageOrderElementAdvancesModel.java | 2 ++ .../ManageOrderElementAdvancesController.java | 4 ++++ .../orders/ManageOrderElementAdvancesModel.java | 10 ++++++++++ .../web/orders/OrderCRUDController.java | 14 ++++++++++++-- 4 files changed, 28 insertions(+), 2 deletions(-) diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/IManageOrderElementAdvancesModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/IManageOrderElementAdvancesModel.java index a5f3a99be..8131c134f 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/IManageOrderElementAdvancesModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/IManageOrderElementAdvancesModel.java @@ -94,4 +94,6 @@ public interface IManageOrderElementAdvancesModel { public XYModel getChartData(Set selectedAdvances); + public void refreshChangesFromOrderElement(); + } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/ManageOrderElementAdvancesController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/ManageOrderElementAdvancesController.java index b9e07f3f8..ee968089e 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/ManageOrderElementAdvancesController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/ManageOrderElementAdvancesController.java @@ -917,4 +917,8 @@ public class ManageOrderElementAdvancesController extends return removeButton; } + public void refreshChangesFromOrderElement() { + manageOrderElementAdvancesModel.refreshChangesFromOrderElement(); + } + } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/ManageOrderElementAdvancesModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/ManageOrderElementAdvancesModel.java index 3a96778fb..14c4d912f 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/ManageOrderElementAdvancesModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/ManageOrderElementAdvancesModel.java @@ -134,6 +134,16 @@ public class ManageOrderElementAdvancesModel implements return listAdvanceAssignments; } + @Override + public void refreshChangesFromOrderElement() { + for (IndirectAdvanceAssignment each : orderElement + .getIndirectAdvanceAssignments()) { + if (!listAdvanceAssignments.contains(each)) { + listAdvanceAssignments.add(each); + } + } + } + @Override public void prepareEditAdvanceMeasurements(AdvanceAssignment assignment) { if (assignment instanceof IndirectAdvanceAssignment) { diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderCRUDController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderCRUDController.java index 76e143110..7d71883e7 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderCRUDController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderCRUDController.java @@ -41,8 +41,10 @@ import org.navalplanner.business.orders.entities.OrderLineGroup; import org.navalplanner.web.common.IMessagesForUser; import org.navalplanner.web.common.Level; import org.navalplanner.web.common.MessagesForUser; +import org.navalplanner.web.common.OnTabSelection; import org.navalplanner.web.common.OnlyOneVisible; import org.navalplanner.web.common.Util; +import org.navalplanner.web.common.OnTabSelection.IOnSelectingTab; import org.navalplanner.web.orders.labels.AssignedLabelsToOrderElementController; import org.navalplanner.web.orders.labels.LabelsAssignmentToOrderElementComponent; import org.navalplanner.web.orders.materials.AssignedMaterialsToOrderElementController; @@ -126,8 +128,6 @@ public class OrderCRUDController extends GenericForwardComposer { private Window listWindow; - private Tabbox tabboxOrder; - private Tab selectedTab; private OnlyOneVisible cachedOnlyOneVisible; @@ -169,6 +169,16 @@ public class OrderCRUDController extends GenericForwardComposer { Util.reloadBindings(editWindow); Util.createBindingsFor(editOrderElement); Util.reloadBindings(editOrderElement); + final Tabbox tabBox = (Tabbox) editWindow.getFellow("tabboxOrder"); + Component tabAdvances = editWindow.getFellow("tabAdvances"); + OnTabSelection.createFor(tabBox).onSelectingTab(tabAdvances, + new IOnSelectingTab() { + @Override + public void tabSelected() { + manageOrderElementAdvancesController.refreshChangesFromOrderElement(); + Util.reloadBindings(tabBox.getSelectedPanel()); + } + }); } private void setupEditControllers() throws Exception {