PM-3912 Los triggers Before Assignment se ejecutan aun cuando no se cumplan las condiciones

This commit is contained in:
Ronald Quenta
2015-11-04 11:47:56 -04:00
parent 29582243fb
commit 1a356cc562
2 changed files with 6 additions and 9 deletions

View File

@@ -160,11 +160,8 @@ if ($flagExecuteBeforeTriggers) {
if (! isset( $_SESSION['_NO_EXECUTE_TRIGGERS_'] )) { if (! isset( $_SESSION['_NO_EXECUTE_TRIGGERS_'] )) {
//Execute before triggers - Start //Execute before triggers - Start
if (!isset($_SESSION['beforeTriggersExecuted']) || $_GET['POSITION'] > 1) { if (!isset($_SESSION['beforeTriggersExecuted']) || $triggers) {
$oStep = $oStep->loadByProcessTaskPosition( $_SESSION['PROCESS'], $_SESSION['TASK'], $_GET['POSITION'] ); $Fields['APP_DATA'] = $oCase->ExecuteTriggers( $_SESSION['TASK'], $_GET['TYPE'], $_GET['UID'], 'BEFORE', $Fields['APP_DATA'] );
if($oStep) {
$Fields['APP_DATA'] = $oCase->ExecuteTriggers( $_SESSION['TASK'], $oStep->getStepTypeObj(), $oStep->getStepUidObj(), 'BEFORE', $Fields['APP_DATA'] );
}
} else { } else {
unset($_SESSION['beforeTriggersExecuted']); unset($_SESSION['beforeTriggersExecuted']);
} }

View File

@@ -405,10 +405,10 @@ class Light
$triggers = $oCase->loadTriggers( $tas_uid, 'ASSIGN_TASK', '-1', 'BEFORE'); $triggers = $oCase->loadTriggers( $tas_uid, 'ASSIGN_TASK', '-1', 'BEFORE');
if (isset($triggers)){ if (isset($triggers)){
$cases = new \ProcessMaker\BusinessModel\Cases(); $Fields = $oCase->loadCase( $app_uid );
foreach($triggers as $trigger){ $Fields['APP_DATA'] = array_merge( $Fields['APP_DATA'], G::getSystemConstants() );
$cases->putExecuteTriggerCase($app_uid, $trigger['TRI_UID'], $usr_uid); $Fields['APP_DATA'] = $oCase->ExecuteTriggers( $tas_uid, 'DYNAFORM', '-1', 'BEFORE', $Fields['APP_DATA'] );
} $oCase->updateCase( $app_uid, $Fields );
} }
$oDerivation = new \Derivation(); $oDerivation = new \Derivation();
$aData = array(); $aData = array();