Merged in darojas/processmaker (pull request #499)
Se modifica la clase wsBase para que se ejecuten los triggers before assigment, cuando se realiza el route-case. Replace harcoded labels by a translation ID
This commit is contained in:
@@ -2221,7 +2221,7 @@ class wsBase
|
||||
}
|
||||
}
|
||||
|
||||
//Execute triggers before derivation
|
||||
//Execute triggers before derivation BEFORE_ROUTING
|
||||
$aTriggers = $oCase->loadTriggers( $appdel['TAS_UID'], 'ASSIGN_TASK', - 2, 'BEFORE' );
|
||||
|
||||
if (count( $aTriggers ) > 0) {
|
||||
@@ -2272,6 +2272,51 @@ class wsBase
|
||||
}
|
||||
}
|
||||
|
||||
//Execute triggers before derivation BEFORE_ASSIGNMENT
|
||||
$aTriggers = $oCase->loadTriggers( $appdel['TAS_UID'], 'ASSIGN_TASK', - 1, 'BEFORE' );
|
||||
|
||||
if (count( $aTriggers ) > 0) {
|
||||
$varTriggers .= "<b>-= Before Derivation =-</b><br/>";
|
||||
|
||||
$oPMScript = new PMScript();
|
||||
|
||||
foreach ($aTriggers as $aTrigger) {
|
||||
//Set variables
|
||||
$params = new stdClass();
|
||||
$params->appData = $appFields["APP_DATA"];
|
||||
|
||||
if ($this->stored_system_variables) {
|
||||
$params->option = "STORED SESSION";
|
||||
$params->SID = $this->wsSessionId;
|
||||
}
|
||||
|
||||
$appFields["APP_DATA"] = array_merge( $appFields["APP_DATA"], G::getSystemConstants( $params ) );
|
||||
|
||||
//PMScript
|
||||
$oPMScript->setFields( $appFields['APP_DATA'] );
|
||||
$bExecute = true;
|
||||
|
||||
if ($aTrigger['ST_CONDITION'] !== '') {
|
||||
$oPMScript->setScript( $aTrigger['ST_CONDITION'] );
|
||||
$bExecute = $oPMScript->evaluate();
|
||||
}
|
||||
|
||||
if ($bExecute) {
|
||||
$oPMScript->setScript( $aTrigger['TRI_WEBBOT'] );
|
||||
$oPMScript->execute();
|
||||
|
||||
$oTrigger = TriggersPeer::retrieveByPk( $aTrigger['TRI_UID'] );
|
||||
$varTriggers .= " - " . nl2br( htmlentities( $oTrigger->getTriTitle(), ENT_QUOTES ) ) . "<br/>";
|
||||
$appFields['APP_DATA'] = $oPMScript->aFields;
|
||||
unset($appFields['APP_STATUS']);
|
||||
unset($appFields['APP_PROC_STATUS']);
|
||||
unset($appFields['APP_PROC_CODE']);
|
||||
unset($appFields['APP_PIN']);
|
||||
$oCase->updateCase( $caseId, $appFields );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$oDerivation = new Derivation();
|
||||
$derive = $oDerivation->prepareInformation( $aData );
|
||||
|
||||
|
||||
Reference in New Issue
Block a user