Merged in luisfernandosl/processmaker/HOR-2194-F-32 (pull request #5126)
HOR-2194-F
This commit is contained in:
@@ -7122,20 +7122,25 @@ class Cases
|
|||||||
|
|
||||||
require_once ( "classes/model/Process.php" );
|
require_once ( "classes/model/Process.php" );
|
||||||
$appProcess = new Process();
|
$appProcess = new Process();
|
||||||
$webBotTrigger = $appProcess->getTriggerWebBotProcess($proUid, $action);
|
$arrayWebBotTrigger = $appProcess->getTriggerWebBotProcess($proUid, $action);
|
||||||
|
|
||||||
if ($webBotTrigger != false && $webBotTrigger != '') {
|
if ($arrayWebBotTrigger['TRI_WEBBOT'] != false && $arrayWebBotTrigger['TRI_WEBBOT'] != '') {
|
||||||
global $oPMScript;
|
global $oPMScript;
|
||||||
$oPMScript = new PMScript();
|
$oPMScript = new PMScript();
|
||||||
$oPMScript->setFields($aFields['APP_DATA']);
|
$oPMScript->setFields($aFields['APP_DATA']);
|
||||||
$oPMScript->setScript($webBotTrigger);
|
$oPMScript->setScript($arrayWebBotTrigger['TRI_WEBBOT']);
|
||||||
$oPMScript->execute();
|
$oPMScript->execute();
|
||||||
|
|
||||||
$aFields['APP_DATA'] = array_merge($aFields['APP_DATA'], $oPMScript->aFields);
|
$aFields['APP_DATA'] = array_merge($aFields['APP_DATA'], $oPMScript->aFields);
|
||||||
unset($aFields['APP_STATUS']);
|
unset($aFields['APP_STATUS']);
|
||||||
unset($aFields['APP_PROC_STATUS']);
|
unset($aFields['APP_PROC_STATUS']);
|
||||||
unset($aFields['APP_PROC_CODE']);
|
unset($aFields['APP_PROC_CODE']);
|
||||||
unset($aFields['APP_PIN']);
|
unset($aFields['APP_PIN']);
|
||||||
$this->updateCase($aFields['APP_UID'], $aFields);
|
$this->updateCase($aFields['APP_UID'], $aFields);
|
||||||
|
|
||||||
|
//Log
|
||||||
|
Bootstrap::registerMonolog('triggerExecutionTime', 200, 'Trigger execution time', ['proUid' => $aFields['APP_DATA']['PROCESS'], 'tasUid' => $aFields['APP_DATA']['TASK'], 'appUid' => $aFields['APP_DATA']['APPLICATION'], 'action' => $action, 'triggerInfo' => ['triUid' => $arrayWebBotTrigger['TRI_UID'], 'triExecutionTime' => $oPMScript->scriptExecutionTime]], SYS_SYS, 'processmaker.log');
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -2262,7 +2262,7 @@ class wsBase
|
|||||||
if (! isset( $_SESSION["PROCESS"] )) {
|
if (! isset( $_SESSION["PROCESS"] )) {
|
||||||
$_SESSION["PROCESS"] = $appFields["PRO_UID"];
|
$_SESSION["PROCESS"] = $appFields["PRO_UID"];
|
||||||
}
|
}
|
||||||
|
|
||||||
global $oPMScript;
|
global $oPMScript;
|
||||||
|
|
||||||
if ($bExecuteTriggersBeforeAssignment) {
|
if ($bExecuteTriggersBeforeAssignment) {
|
||||||
@@ -2706,6 +2706,9 @@ class wsBase
|
|||||||
$oPMScript->setScript( $row['TRI_WEBBOT'] );
|
$oPMScript->setScript( $row['TRI_WEBBOT'] );
|
||||||
$oPMScript->execute();
|
$oPMScript->execute();
|
||||||
|
|
||||||
|
//Log
|
||||||
|
Bootstrap::registerMonolog('triggerExecutionTime', 200, 'Trigger execution time', ['proUid' => $appFields['APP_DATA']['PROCESS'], 'tasUid' => $appFields['APP_DATA']['TASK'], 'appUid' => $appFields['APP_DATA']['APPLICATION'], 'triggerInfo' => ['triUid' => $row['TRI_UID'], 'triExecutionTime' => $oPMScript->scriptExecutionTime]], SYS_SYS, 'processmaker.log');
|
||||||
|
|
||||||
if (isset($oPMScript->aFields["__ERROR__"]) && trim($oPMScript->aFields["__ERROR__"]) != "" && $oPMScript->aFields["__ERROR__"] != "none") {
|
if (isset($oPMScript->aFields["__ERROR__"]) && trim($oPMScript->aFields["__ERROR__"]) != "" && $oPMScript->aFields["__ERROR__"] != "none") {
|
||||||
throw new Exception($oPMScript->aFields["__ERROR__"]);
|
throw new Exception($oPMScript->aFields["__ERROR__"]);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -825,7 +825,7 @@ class Process extends BaseProcess
|
|||||||
}
|
}
|
||||||
|
|
||||||
$action = G::toUpper( $action );
|
$action = G::toUpper( $action );
|
||||||
$webBotTrigger = '';
|
$arrayWebBotTrigger = [];
|
||||||
|
|
||||||
switch ($action) {
|
switch ($action) {
|
||||||
case 'CREATE':
|
case 'CREATE':
|
||||||
@@ -853,6 +853,7 @@ class Process extends BaseProcess
|
|||||||
|
|
||||||
$oCriteria = new Criteria( 'workflow' );
|
$oCriteria = new Criteria( 'workflow' );
|
||||||
$oCriteria->addSelectColumn( $var );
|
$oCriteria->addSelectColumn( $var );
|
||||||
|
$oCriteria->addSelectColumn( TriggersPeer::TRI_UID);
|
||||||
$oCriteria->addSelectColumn( TriggersPeer::TRI_WEBBOT );
|
$oCriteria->addSelectColumn( TriggersPeer::TRI_WEBBOT );
|
||||||
$oCriteria->addJoin( $var, TriggersPeer::TRI_UID, Criteria::LEFT_JOIN );
|
$oCriteria->addJoin( $var, TriggersPeer::TRI_UID, Criteria::LEFT_JOIN );
|
||||||
$oCriteria->add( ProcessPeer::PRO_UID, $proUid );
|
$oCriteria->add( ProcessPeer::PRO_UID, $proUid );
|
||||||
@@ -861,10 +862,11 @@ class Process extends BaseProcess
|
|||||||
$oDataSet->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
$oDataSet->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||||
if ($oDataSet->next()) {
|
if ($oDataSet->next()) {
|
||||||
$row = $oDataSet->getRow();
|
$row = $oDataSet->getRow();
|
||||||
$webBotTrigger = $row['TRI_WEBBOT'];
|
$arrayWebBotTrigger = ['TRI_UID' => $row['TRI_UID'], 'TRI_WEBBOT' => $row['TRI_WEBBOT']];
|
||||||
}
|
}
|
||||||
|
|
||||||
return $webBotTrigger;
|
//Return
|
||||||
|
return $arrayWebBotTrigger;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function memcachedDelete ()
|
public function memcachedDelete ()
|
||||||
@@ -1022,4 +1024,3 @@ class Process extends BaseProcess
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -103,6 +103,14 @@ try {
|
|||||||
$_SESSION['TRIGGER_DEBUG']['info'][0]['TRIGGERS_NAMES'] = $oCase->getTriggerNames( $triggers );
|
$_SESSION['TRIGGER_DEBUG']['info'][0]['TRIGGERS_NAMES'] = $oCase->getTriggerNames( $triggers );
|
||||||
$_SESSION['TRIGGER_DEBUG']['info'][0]['TRIGGERS_VALUES'] = $triggers;
|
$_SESSION['TRIGGER_DEBUG']['info'][0]['TRIGGERS_VALUES'] = $triggers;
|
||||||
$_SESSION['TRIGGER_DEBUG']['info'][0]['TRIGGERS_EXECUTION_TIME'] = $oCase->arrayTriggerExecutionTime;
|
$_SESSION['TRIGGER_DEBUG']['info'][0]['TRIGGERS_EXECUTION_TIME'] = $oCase->arrayTriggerExecutionTime;
|
||||||
|
$arrayInfoTriggerExecutionTime = [];
|
||||||
|
|
||||||
|
foreach ($_SESSION['TRIGGER_DEBUG']['info'][0]['TRIGGERS_EXECUTION_TIME'] as $key => $value) {
|
||||||
|
$arrayInfoTriggerExecutionTime[] = ['triUid' => $key, 'triExecutionTime' => $value];
|
||||||
|
}
|
||||||
|
|
||||||
|
//Log
|
||||||
|
Bootstrap::registerMonolog('triggerExecutionTime', 200, 'Trigger execution time', ['proUid' => $appFields['APP_DATA']['PROCESS'], 'tasUid' => $appFields['APP_DATA']['TASK'], 'appUid' => $appFields['APP_DATA']['APPLICATION'], 'before' => 'ASSIGN_TASK', 'triggerInfo' => $arrayInfoTriggerExecutionTime], SYS_SYS, 'processmaker.log');
|
||||||
}
|
}
|
||||||
|
|
||||||
unset($appFields['APP_STATUS']);
|
unset($appFields['APP_STATUS']);
|
||||||
@@ -152,6 +160,14 @@ try {
|
|||||||
$_SESSION['TRIGGER_DEBUG']['info'][1]['TRIGGERS_NAMES'] = $oCase->getTriggerNames( $triggers );
|
$_SESSION['TRIGGER_DEBUG']['info'][1]['TRIGGERS_NAMES'] = $oCase->getTriggerNames( $triggers );
|
||||||
$_SESSION['TRIGGER_DEBUG']['info'][1]['TRIGGERS_VALUES'] = $triggers;
|
$_SESSION['TRIGGER_DEBUG']['info'][1]['TRIGGERS_VALUES'] = $triggers;
|
||||||
$_SESSION['TRIGGER_DEBUG']['info'][1]['TRIGGERS_EXECUTION_TIME'] = $oCase->arrayTriggerExecutionTime;
|
$_SESSION['TRIGGER_DEBUG']['info'][1]['TRIGGERS_EXECUTION_TIME'] = $oCase->arrayTriggerExecutionTime;
|
||||||
|
$arrayInfoTriggerExecutionTimeAux = [];
|
||||||
|
|
||||||
|
foreach ($_SESSION['TRIGGER_DEBUG']['info'][1]['TRIGGERS_EXECUTION_TIME'] as $key => $value) {
|
||||||
|
$arrayInfoTriggerExecutionTimeAux[] = ['triUid' => $key, 'triExecutionTime' => $value];
|
||||||
|
}
|
||||||
|
|
||||||
|
//Log
|
||||||
|
Bootstrap::registerMonolog('triggerExecutionTime', 200, 'Trigger execution time', ['proUid' => $appFields['APP_DATA']['PROCESS'], 'tasUid' => $appFields['APP_DATA']['TASK'], 'appUid' => $appFields['APP_DATA']['APPLICATION'], 'after' => 'ASSIGN_TASK', 'triggerInfo' => $arrayInfoTriggerExecutionTimeAux], SYS_SYS, 'processmaker.log');
|
||||||
}
|
}
|
||||||
unset($appFields['APP_STATUS']);
|
unset($appFields['APP_STATUS']);
|
||||||
unset($appFields['APP_PROC_STATUS']);
|
unset($appFields['APP_PROC_STATUS']);
|
||||||
|
|||||||
@@ -183,6 +183,14 @@ try {
|
|||||||
//Execute after triggers - End
|
//Execute after triggers - End
|
||||||
|
|
||||||
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_EXECUTION_TIME'] = $oCase->arrayTriggerExecutionTime;
|
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_EXECUTION_TIME'] = $oCase->arrayTriggerExecutionTime;
|
||||||
|
$arrayInfoTriggerExecutionTime = [];
|
||||||
|
|
||||||
|
foreach ($_SESSION['TRIGGER_DEBUG']['TRIGGERS_EXECUTION_TIME'] as $key => $value) {
|
||||||
|
$arrayInfoTriggerExecutionTime[] = ['triUid' => $key, 'triExecutionTime' => $value];
|
||||||
|
}
|
||||||
|
|
||||||
|
//Log
|
||||||
|
Bootstrap::registerMonolog('triggerExecutionTime', 200, 'Trigger execution time', ['proUid' => $_SESSION['PROCESS'], 'tasUid' => $_SESSION['TASK'], 'appUid' => $_SESSION['APPLICATION'], 'after' => 'DYNAFORM', 'triggerInfo' => $arrayInfoTriggerExecutionTime], SYS_SYS, 'processmaker.log');
|
||||||
}
|
}
|
||||||
|
|
||||||
//save data in PM Tables if necessary
|
//save data in PM Tables if necessary
|
||||||
|
|||||||
@@ -213,6 +213,14 @@ if ($flagExecuteBeforeTriggers) {
|
|||||||
//Execute before triggers - End
|
//Execute before triggers - End
|
||||||
|
|
||||||
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_EXECUTION_TIME'] = $oCase->arrayTriggerExecutionTime;
|
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_EXECUTION_TIME'] = $oCase->arrayTriggerExecutionTime;
|
||||||
|
$arrayInfoTriggerExecutionTime = [];
|
||||||
|
|
||||||
|
foreach ($_SESSION['TRIGGER_DEBUG']['TRIGGERS_EXECUTION_TIME'] as $key => $value) {
|
||||||
|
$arrayInfoTriggerExecutionTime[] = ['triUid' => $key, 'triExecutionTime' => $value];
|
||||||
|
}
|
||||||
|
|
||||||
|
//Log
|
||||||
|
Bootstrap::registerMonolog('triggerExecutionTime', 200, 'Trigger execution time', ['proUid' => $Fields['APP_DATA']['PROCESS'], 'tasUid' => $Fields['APP_DATA']['TASK'], 'appUid' => $Fields['APP_DATA']['APPLICATION'], 'before' => $_GET['TYPE'], 'triggerInfo' => $arrayInfoTriggerExecutionTime], SYS_SYS, 'processmaker.log');
|
||||||
} else {
|
} else {
|
||||||
unset( $_SESSION['_NO_EXECUTE_TRIGGERS_'] );
|
unset( $_SESSION['_NO_EXECUTE_TRIGGERS_'] );
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user