From c657c8af9f8ab4bb2c8a5068bfcde6b744114563 Mon Sep 17 00:00:00 2001 From: "marcelo.cuiza" Date: Tue, 20 Oct 2015 11:19:49 -0400 Subject: [PATCH] PM-3842: (Para Desktop) 0018471: Los triggers asignados antes del segundo step no se ejecutan cuando se salta el primer step, pero si se salta el segundo step --- workflow/engine/methods/cases/cases_Step.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/workflow/engine/methods/cases/cases_Step.php b/workflow/engine/methods/cases/cases_Step.php index fea0ab061..5fde8c7ac 100755 --- a/workflow/engine/methods/cases/cases_Step.php +++ b/workflow/engine/methods/cases/cases_Step.php @@ -106,6 +106,7 @@ $oHeadPublisher->addScriptCode( ' $G_PUBLISH->AddContent( 'template', '', '', '', $oTemplatePower ); $oCase = new Cases(); +$oStep = new Step(); $Fields = $oCase->loadCase( $_SESSION['APPLICATION'] ); $Fields['APP_DATA'] = array_merge( $Fields['APP_DATA'], G::getSystemConstants() ); @@ -159,8 +160,11 @@ if ($flagExecuteBeforeTriggers) { if (! isset( $_SESSION['_NO_EXECUTE_TRIGGERS_'] )) { //Execute before triggers - Start - if (!isset($_SESSION['beforeTriggersExecuted'])) { - $Fields['APP_DATA'] = $oCase->ExecuteTriggers( $_SESSION['TASK'], $_GET['TYPE'], $_GET['UID'], 'BEFORE', $Fields['APP_DATA'] ); + if (!isset($_SESSION['beforeTriggersExecuted']) || $_GET['POSITION'] > 1) { + $oStep = $oStep->loadByProcessTaskPosition( $_SESSION['PROCESS'], $_SESSION['TASK'], $_GET['POSITION'] ); + if($oStep) { + $Fields['APP_DATA'] = $oCase->ExecuteTriggers( $_SESSION['TASK'], $oStep->getStepTypeObj(), $oStep->getStepUidObj(), 'BEFORE', $Fields['APP_DATA'] ); + } } else { unset($_SESSION['beforeTriggersExecuted']); } @@ -265,7 +269,6 @@ try { }" ); } - $oStep = new Step(); $oStep = $oStep->loadByProcessTaskPosition( $_SESSION['PROCESS'], $_SESSION['TASK'], $_GET['POSITION'] ); /**