From f6e8a3df8052ad813b74881c64fecf6a30fcbca6 Mon Sep 17 00:00:00 2001 From: teo_sarca Date: Wed, 17 Dec 2008 14:12:40 +0000 Subject: [PATCH] BF [ 2440281 ] MWorkflow.afterSave should check success flag https://sourceforge.net/tracker/?func=detail&atid=879332&aid=2440281&group_id=176962 --- base/src/org/compiere/wf/MWorkflow.java | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/base/src/org/compiere/wf/MWorkflow.java b/base/src/org/compiere/wf/MWorkflow.java index f434fee653..7636bdd8c1 100644 --- a/base/src/org/compiere/wf/MWorkflow.java +++ b/base/src/org/compiere/wf/MWorkflow.java @@ -618,23 +618,29 @@ public class MWorkflow extends X_AD_Workflow protected boolean afterSave (boolean newRecord, boolean success) { log.fine("Success=" + success); - if (success && newRecord) + if (!success) + { + return false; + } + if (newRecord) { // save all nodes -- Creating new Workflow MWFNode[] nodes = getNodesInOrder(0); for (int i = 0; i < nodes.length; i++) - nodes[i].save(get_TrxName()); + { + nodes[i].saveEx(get_TrxName()); + } } if (newRecord) { int AD_Role_ID = Env.getAD_Role_ID(getCtx()); MWorkflowAccess wa = new MWorkflowAccess(this, AD_Role_ID); - wa.save(); + wa.saveEx(); } // Menu/Workflow - else if (is_ValueChanged("IsActive") || is_ValueChanged("Name") - || is_ValueChanged("Description") || is_ValueChanged("Help")) + else if (is_ValueChanged("IsActive") || is_ValueChanged(COLUMNNAME_Name) + || is_ValueChanged(COLUMNNAME_Description) || is_ValueChanged(COLUMNNAME_Help)) { MMenu[] menues = MMenu.get(getCtx(), "AD_Workflow_ID=" + getAD_Workflow_ID(), get_TrxName()); for (int i = 0; i < menues.length; i++) @@ -642,7 +648,7 @@ public class MWorkflow extends X_AD_Workflow menues[i].setIsActive(isActive()); menues[i].setName(getName()); menues[i].setDescription(getDescription()); - menues[i].save(); + menues[i].saveEx(); } X_AD_WF_Node[] nodes = MWindow.getWFNodes(getCtx(), "AD_Workflow_ID=" + getAD_Workflow_ID(), get_TrxName()); for (int i = 0; i < nodes.length; i++) @@ -661,7 +667,7 @@ public class MWorkflow extends X_AD_Workflow changed = true; } if (changed) - nodes[i].save(); + nodes[i].saveEx(); } }