PM-3984 Se ejecuta el trigger de un dynaform (con condición) y no los triggers del segundo
This commit is contained in:
Ronald Quenta
2015-11-10 11:37:39 -04:00
parent 0319e8a407
commit 7123b7dbd3
5 changed files with 7 additions and 13 deletions

View File

@@ -923,6 +923,9 @@ class Process extends BaseProcess
$webBotTrigger = ''; $webBotTrigger = '';
switch ($action) { switch ($action) {
case 'OPEN':
$var = ProcessPeer::PRO_TRI_OPEN;
break;
case 'DELETED': case 'DELETED':
$var = ProcessPeer::PRO_TRI_DELETED; $var = ProcessPeer::PRO_TRI_DELETED;
break; break;

View File

@@ -840,6 +840,7 @@
<column name="PRO_SHOW_MAP" type="TINYINT" required="true" default="1"/> <column name="PRO_SHOW_MAP" type="TINYINT" required="true" default="1"/>
<column name="PRO_SHOW_MESSAGE" type="TINYINT" required="true" default="1"/> <column name="PRO_SHOW_MESSAGE" type="TINYINT" required="true" default="1"/>
<column name="PRO_SUBPROCESS" type="TINYINT" required="true" default="0"/> <column name="PRO_SUBPROCESS" type="TINYINT" required="true" default="0"/>
<column name="PRO_TRI_OPEN" type="VARCHAR" size="32" required="true" default=""/>
<column name="PRO_TRI_DELETED" type="VARCHAR" size="32" required="true" default=""/> <column name="PRO_TRI_DELETED" type="VARCHAR" size="32" required="true" default=""/>
<column name="PRO_TRI_CANCELED" type="VARCHAR" size="32" required="true" default=""/> <column name="PRO_TRI_CANCELED" type="VARCHAR" size="32" required="true" default=""/>
<column name="PRO_TRI_PAUSED" type="VARCHAR" size="32" required="true" default=""/> <column name="PRO_TRI_PAUSED" type="VARCHAR" size="32" required="true" default=""/>

View File

@@ -409,6 +409,7 @@ CREATE TABLE `PROCESS`
`PRO_SHOW_MAP` TINYINT default 1 NOT NULL, `PRO_SHOW_MAP` TINYINT default 1 NOT NULL,
`PRO_SHOW_MESSAGE` TINYINT default 1 NOT NULL, `PRO_SHOW_MESSAGE` TINYINT default 1 NOT NULL,
`PRO_SUBPROCESS` TINYINT default 0 NOT NULL, `PRO_SUBPROCESS` TINYINT default 0 NOT NULL,
`PRO_TRI_OPEN` VARCHAR(32) default '' NOT NULL,
`PRO_TRI_DELETED` VARCHAR(32) default '' NOT NULL, `PRO_TRI_DELETED` VARCHAR(32) default '' NOT NULL,
`PRO_TRI_CANCELED` VARCHAR(32) default '' NOT NULL, `PRO_TRI_CANCELED` VARCHAR(32) default '' NOT NULL,
`PRO_TRI_PAUSED` VARCHAR(32) default '' NOT NULL, `PRO_TRI_PAUSED` VARCHAR(32) default '' NOT NULL,

View File

@@ -171,14 +171,7 @@ try {
unset( $_SESSION['bNoShowSteps'] ); unset( $_SESSION['bNoShowSteps'] );
/* Execute Before Triggers for first Task*/ /* Execute Before Triggers for first Task*/
$oStep = new Step; $oCase->getExecuteTriggerProcess($sAppUid, 'OPEN');
$oStep = $oStep->loadByProcessTaskPosition($_SESSION['PROCESS'], $_SESSION['TASK'], 1);
if($oStep) {
$aFields['APP_DATA'] = array_merge( $aFields['APP_DATA'], G::getSystemConstants() );
$triggerFields["APP_DATA"] = $oCase->ExecuteTriggers( $_SESSION['TASK'], $oStep->getStepTypeObj(), $oStep->getStepUidObj(), 'BEFORE', $aFields['APP_DATA'] );
$oCase->updateCase( $_SESSION['APPLICATION'], $triggerFields );
$_SESSION['beforeTriggersExecuted'] = true;
}
/*end Execute Before Triggers for first Task*/ /*end Execute Before Triggers for first Task*/
$aNextStep = $oCase->getNextStep( $_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['STEP_POSITION'] ); $aNextStep = $oCase->getNextStep( $_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['STEP_POSITION'] );

View File

@@ -160,11 +160,7 @@ 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']) || $triggers) { $Fields['APP_DATA'] = $oCase->ExecuteTriggers( $_SESSION['TASK'], $_GET['TYPE'], $_GET['UID'], 'BEFORE', $Fields['APP_DATA'] );
$Fields['APP_DATA'] = $oCase->ExecuteTriggers( $_SESSION['TASK'], $_GET['TYPE'], $_GET['UID'], 'BEFORE', $Fields['APP_DATA'] );
} else {
unset($_SESSION['beforeTriggersExecuted']);
}
//Execute before triggers - End //Execute before triggers - End
} else { } else {
unset( $_SESSION['_NO_EXECUTE_TRIGGERS_'] ); unset( $_SESSION['_NO_EXECUTE_TRIGGERS_'] );