From 78ac3bad021ca11ea37c92ab7df3a098cd071524 Mon Sep 17 00:00:00 2001 From: Susana Montes Pedreira Date: Mon, 4 Jan 2010 15:35:44 +0100 Subject: [PATCH] ItEr42S05ValidacionEProbasFuncionaisItEr41S05 : [Bug #223] checks all tabs and comes back show the current tab. --- .../web/orders/OrderCRUDController.java | 19 +++++++++++++++++++ .../src/main/webapp/orders/_edition.zul | 12 ++++++------ 2 files changed, 25 insertions(+), 6 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 1be42c31d..37ef09392 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 @@ -56,6 +56,7 @@ import org.zkoss.zul.ComboitemRenderer; import org.zkoss.zul.Label; import org.zkoss.zul.Messagebox; import org.zkoss.zul.Tab; +import org.zkoss.zul.Tabbox; import org.zkoss.zul.api.Window; /** @@ -115,6 +116,10 @@ public class OrderCRUDController extends GenericForwardComposer { private Window listWindow; + private Tabbox tabboxOrder; + + private Tab selectedTab; + private OnlyOneVisible cachedOnlyOneVisible; private IOrderPlanningGate planningControllerEntryPoints; @@ -267,8 +272,10 @@ public class OrderCRUDController extends GenericForwardComposer { } public void saveAndContinue() { + setCurrentTab(); final boolean couldSave = save(); if (couldSave) { + selectTab(getCurrentTab().getId()); orderModel.initEdit((Order) orderModel.getOrder()); orderAuthorizationController.setOrder((Order) orderModel.getOrder()); initializeTabs(); @@ -284,6 +291,7 @@ public class OrderCRUDController extends GenericForwardComposer { } private boolean save() { + if (!manageOrderElementAdvancesController.save()) { selectTab("tabAdvances"); } @@ -305,6 +313,17 @@ public class OrderCRUDController extends GenericForwardComposer { return false; } + private void setCurrentTab() { + Tabbox tabboxOrder = (Tabbox) editWindow.getFellowIfAny("tabboxOrder"); + if (tabboxOrder != null) { + selectedTab = tabboxOrder.getSelectedTab(); + } + } + + private Tab getCurrentTab() { + return selectedTab; + } + private void selectTab(String str) { Tab tab = (Tab) editWindow.getFellowIfAny(str); if (tab != null) { diff --git a/navalplanner-webapp/src/main/webapp/orders/_edition.zul b/navalplanner-webapp/src/main/webapp/orders/_edition.zul index 230b2bc01..3c406dbf9 100644 --- a/navalplanner-webapp/src/main/webapp/orders/_edition.zul +++ b/navalplanner-webapp/src/main/webapp/orders/_edition.zul @@ -29,18 +29,18 @@ - + - - + + - + - + - +