From 9d6fbe06d2a12af8a95a96416124c54c2fb4a04a Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Fri, 8 Aug 2014 19:02:55 +0200 Subject: [PATCH] IDEMPIERE-2125 Error in creating recent item avoids to save any record - refactor and apply same code from tbayen in two more places where is needed --- .../adwindow/AbstractADWindowContent.java | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java index 6548fcea4e..a401b8ee82 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java @@ -1517,14 +1517,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements Env.getAD_Role_ID(ctx), adTabbox.getSelectedGridTab().getAD_Window_ID(), adTabbox.getSelectedGridTab().getAD_Tab_ID()); } else { - /* when a detail record is modified add header to recent items */ - GridTab mainTab = adTabbox.getSelectedGridTab(); // find parent tab (IDEMPIERE-2125 - tbayen) - while (mainTab != null && mainTab.getTabLevel() > 0) { - GridTab parentTab = mainTab.getParentTab(); - if (parentTab == mainTab) - break; - mainTab = parentTab; - } + GridTab mainTab = getMainTabAbove(); if (mainTab != null) { MRecentItem.addModifiedField(ctx, mainTab.getAD_Table_ID(), mainTab.getRecord_ID(), Env.getAD_User_ID(ctx), @@ -2176,8 +2169,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements Env.getAD_Role_ID(ctx), adTabbox.getSelectedGridTab().getAD_Window_ID(), adTabbox.getSelectedGridTab().getAD_Tab_ID()); } else { - /* when a detail record is modified add header to recent items */ - GridTab mainTab = gridWindow.getTab(0); + GridTab mainTab = getMainTabAbove(); if (mainTab != null) { MRecentItem.addModifiedField(ctx, mainTab.getAD_Table_ID(), mainTab.getRecord_ID(), Env.getAD_User_ID(ctx), @@ -2191,7 +2183,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements MRecentItem.touchUpdatedRecord(ctx, adTabbox.getSelectedGridTab().getAD_Table_ID(), adTabbox.getSelectedGridTab().getRecord_ID(), Env.getAD_User_ID(ctx)); } else { - GridTab mainTab = gridWindow.getTab(0); + GridTab mainTab = getMainTabAbove(); if (mainTab != null) { MRecentItem.touchUpdatedRecord(ctx, mainTab.getAD_Table_ID(), mainTab.getRecord_ID(), Env.getAD_User_ID(ctx)); @@ -2209,6 +2201,18 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements callback.onCallback(true); } + private GridTab getMainTabAbove() { + /* when a detail record is modified add header to recent items */ + GridTab mainTab = adTabbox.getSelectedGridTab(); // find parent tab (IDEMPIERE-2125 - tbayen) + while (mainTab != null && mainTab.getTabLevel() > 0) { + GridTab parentTab = mainTab.getParentTab(); + if (parentTab == mainTab) + break; + mainTab = parentTab; + } + return mainTab; + } + private void showLastError() { String msg = CLogger.retrieveErrorString(null); if (msg != null)