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" );
$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;
$oPMScript = new PMScript();
$oPMScript->setFields($aFields['APP_DATA']);
$oPMScript->setScript($webBotTrigger);
$oPMScript->setScript($arrayWebBotTrigger['TRI_WEBBOT']);
$oPMScript->execute();
$aFields['APP_DATA'] = array_merge($aFields['APP_DATA'], $oPMScript->aFields);
unset($aFields['APP_STATUS']);
unset($aFields['APP_PROC_STATUS']);
unset($aFields['APP_PROC_CODE']);
unset($aFields['APP_PIN']);
$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 false;

View File

@@ -2706,6 +2706,9 @@ class wsBase
$oPMScript->setScript( $row['TRI_WEBBOT'] );
$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") {
throw new Exception($oPMScript->aFields["__ERROR__"]);
}

View File

@@ -825,7 +825,7 @@ class Process extends BaseProcess
}
$action = G::toUpper( $action );
$webBotTrigger = '';
$arrayWebBotTrigger = [];
switch ($action) {
case 'OPEN':
@@ -850,6 +850,7 @@ class Process extends BaseProcess
$oCriteria = new Criteria( 'workflow' );
$oCriteria->addSelectColumn( $var );
$oCriteria->addSelectColumn( TriggersPeer::TRI_UID);
$oCriteria->addSelectColumn( TriggersPeer::TRI_WEBBOT );
$oCriteria->addJoin( $var, TriggersPeer::TRI_UID, Criteria::LEFT_JOIN );
$oCriteria->add( ProcessPeer::PRO_UID, $proUid );
@@ -858,10 +859,11 @@ class Process extends BaseProcess
$oDataSet->setFetchmode( ResultSet::FETCHMODE_ASSOC );
if ($oDataSet->next()) {
$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 ()
@@ -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_VALUES'] = $triggers;
$_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']);
@@ -152,6 +160,14 @@ try {
$_SESSION['TRIGGER_DEBUG']['info'][1]['TRIGGERS_NAMES'] = $oCase->getTriggerNames( $triggers );
$_SESSION['TRIGGER_DEBUG']['info'][1]['TRIGGERS_VALUES'] = $triggers;
$_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_PROC_STATUS']);

View File

@@ -183,6 +183,14 @@ try {
//Execute after triggers - End
$_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

View File

@@ -213,6 +213,14 @@ if ($flagExecuteBeforeTriggers) {
//Execute before triggers - End
$_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 {
unset( $_SESSION['_NO_EXECUTE_TRIGGERS_'] );
}