From 1e43c1cf6dda73ba37c97559201cdef01a29de2b Mon Sep 17 00:00:00 2001 From: Diego Pino Garcia Date: Wed, 18 Aug 2010 12:06:52 +0200 Subject: [PATCH] initEdit(order) was being executed two times on saving an order * Move code that updates field 'initialStatus' to method updateDisabilitiesOnInterface(), since initialStatus has to be updated always before calling this method FEA: ItEr60S18CambiosPantallaArbolPedido --- .../web/orders/OrderCRUDController.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) 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 66c82c5ab..bed65573a 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 @@ -310,7 +310,7 @@ public class OrderCRUDController extends GenericForwardComposer { orderElementTreeController.setTreeComponent(orderElementsTree); orderElementsTree.useController(orderElementTreeController); orderElementTreeController.setReadOnly(readOnly); - + setTreeRenderer(orderElementsTree); reloadTree(orderElementsTree); } @@ -318,14 +318,14 @@ public class OrderCRUDController extends GenericForwardComposer { private void reloadTree(TreeComponent orderElementsTree) { final Tree tree = (Tree) orderElementsTree.getFellowIfAny("tree"); - tree.setModel(orderElementTreeController.getTreeModel()); + tree.setModel(orderElementTreeController.getTreeModel()); } - + private void setTreeRenderer(TreeComponent orderElementsTree) { final Tree tree = (Tree) orderElementsTree.getFellowIfAny("tree"); tree.setTreeitemRenderer(orderElementTreeController.getRenderer()); } - + /* * Operations to do before to change the selected tab */ @@ -526,10 +526,9 @@ public class OrderCRUDController extends GenericForwardComposer { setCurrentTab(); Tab previousTab = getCurrentTab(); final boolean couldSave = save(); + if (couldSave) { if(orderModel.userCanRead(order, SecurityUtils.getSessionUserLoginName())) { - orderModel.initEdit(order); - initialStatus = order.getState(); updateDisabilitiesOnInterface(); initializeTabs(); showWindow(editWindow); @@ -801,7 +800,6 @@ public class OrderCRUDController extends GenericForwardComposer { orderModel.initEdit(order); addEditWindow(); - initialStatus = order.getState(); updateDisabilitiesOnInterface(); showEditWindow(_("Edit order")); } @@ -829,7 +827,7 @@ public class OrderCRUDController extends GenericForwardComposer { Util.createBindingsFor(tabPanel); Util.reloadBindings(tabPanel); } - + private void initializeTabs() { final IOrderElementModel orderElementModel = getOrderElementModel(); @@ -1226,6 +1224,8 @@ public class OrderCRUDController extends GenericForwardComposer { private void updateDisabilitiesOnInterface() { Order order = (Order) orderModel.getOrder(); + initialStatus = order.getState(); + boolean permissionForWriting = orderModel.userCanWrite(order, SecurityUtils.getSessionUserLoginName()); boolean isInStoredState = order.getState() == OrderStatusEnum.STORED; @@ -1233,7 +1233,7 @@ public class OrderCRUDController extends GenericForwardComposer { readOnly = !permissionForWriting || isInStoredState; - if(orderElementTreeController != null) { + if (orderElementTreeController != null) { orderElementTreeController.setReadOnly(readOnly); } saveOrderAndContinueButton.setDisabled(!permissionForWriting @@ -1254,4 +1254,4 @@ public class OrderCRUDController extends GenericForwardComposer { } } -} \ No newline at end of file +}