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 {