HOR-2194-F "[Register Log] Triggers execution..."

HOR-2194-F "[Register Log] Triggers execution..."

HOR-2194-F "[Register Log] Triggers execution..."

HOR-2194-F "[Register Log] Triggers execution..."

HOR-2194-F "[Register Log] Triggers execution..."
This commit is contained in:
Luis Fernando Saisa Lopez
2016-11-10 11:50:57 -05:00
parent 7403f59885
commit 88eaa33728
6 changed files with 49 additions and 8 deletions

View File

@@ -7140,20 +7140,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;

View File

@@ -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__"]);
} }

View File

@@ -825,7 +825,7 @@ class Process extends BaseProcess
} }
$action = G::toUpper( $action ); $action = G::toUpper( $action );
$webBotTrigger = ''; $arrayWebBotTrigger = [];
switch ($action) { switch ($action) {
case 'OPEN': case 'OPEN':
@@ -850,6 +850,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 );
@@ -858,10 +859,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 ()
@@ -1019,4 +1021,3 @@ class Process extends BaseProcess
} }
} }
} }

View File

@@ -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']);

View File

@@ -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

View File

@@ -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_'] );
} }