Merged in luisfernandosl/processmaker/HOR-1443-31 (pull request #4593)
HOR-1443
This commit is contained in:
@@ -73,6 +73,7 @@ class Cases
|
|||||||
private $appSolr = null;
|
private $appSolr = null;
|
||||||
public $dir = 'ASC';
|
public $dir = 'ASC';
|
||||||
public $sort = 'APP_MSG_DATE';
|
public $sort = 'APP_MSG_DATE';
|
||||||
|
public $arrayTriggerExecutionTime = [];
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
@@ -3591,6 +3592,8 @@ class Cases
|
|||||||
if ($bExecute) {
|
if ($bExecute) {
|
||||||
$oPMScript->setScript($aTrigger['TRI_WEBBOT']);
|
$oPMScript->setScript($aTrigger['TRI_WEBBOT']);
|
||||||
$oPMScript->execute();
|
$oPMScript->execute();
|
||||||
|
|
||||||
|
$this->arrayTriggerExecutionTime[$aTrigger['TRI_UID']] = $oPMScript->scriptExecutionTime;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*----------------------------------********---------------------------------*/
|
/*----------------------------------********---------------------------------*/
|
||||||
@@ -7554,4 +7557,3 @@ class Cases
|
|||||||
return $rows;
|
return $rows;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -119,6 +119,8 @@ class PMScript
|
|||||||
*/
|
*/
|
||||||
public $affected_fields;
|
public $affected_fields;
|
||||||
|
|
||||||
|
public $scriptExecutionTime = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor of the class PMScript
|
* Constructor of the class PMScript
|
||||||
*
|
*
|
||||||
@@ -346,7 +348,15 @@ class PMScript
|
|||||||
$sScript .= substr( $this->sScript, $iAux );
|
$sScript .= substr( $this->sScript, $iAux );
|
||||||
$sScript = "try {\n" . $sScript . "\n} catch (Exception \$oException) {\n " . " \$this->aFields['__ERROR__'] = utf8_encode(\$oException->getMessage());\n}";
|
$sScript = "try {\n" . $sScript . "\n} catch (Exception \$oException) {\n " . " \$this->aFields['__ERROR__'] = utf8_encode(\$oException->getMessage());\n}";
|
||||||
//echo '<pre>-->'; print_r($this->aFields); echo '<---</pre>';
|
//echo '<pre>-->'; print_r($this->aFields); echo '<---</pre>';
|
||||||
|
|
||||||
|
$timeStart = microtime(true);
|
||||||
|
|
||||||
$this->executeAndCatchErrors($sScript, $this->sScript);
|
$this->executeAndCatchErrors($sScript, $this->sScript);
|
||||||
|
|
||||||
|
$timeEnd = microtime(true);
|
||||||
|
|
||||||
|
$this->scriptExecutionTime = round($timeEnd - $timeStart, 5);
|
||||||
|
|
||||||
$this->aFields["__VAR_CHANGED__"] = implode(",", $this->affected_fields);
|
$this->aFields["__VAR_CHANGED__"] = implode(",", $this->affected_fields);
|
||||||
for ($i = 0; $i < count( $this->affected_fields ); $i ++) {
|
for ($i = 0; $i < count( $this->affected_fields ); $i ++) {
|
||||||
$_SESSION['TRIGGER_DEBUG']['DATA'][] = Array ('key' => $this->affected_fields[$i],'value' => isset( $this->aFields[$this->affected_fields[$i]] ) ? $this->aFields[$this->affected_fields[$i]] : ''
|
$_SESSION['TRIGGER_DEBUG']['DATA'][] = Array ('key' => $this->affected_fields[$i],'value' => isset( $this->aFields[$this->affected_fields[$i]] ) ? $this->aFields[$this->affected_fields[$i]] : ''
|
||||||
|
|||||||
@@ -54,6 +54,8 @@ $_SESSION['TRIGGER_DEBUG']['ERRORS'] = Array ();
|
|||||||
$_SESSION['TRIGGER_DEBUG']['DATA'] = Array ();
|
$_SESSION['TRIGGER_DEBUG']['DATA'] = Array ();
|
||||||
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_NAMES'] = Array ();
|
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_NAMES'] = Array ();
|
||||||
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_VALUES'] = Array ();
|
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_VALUES'] = Array ();
|
||||||
|
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_EXECUTION_TIME'] = [];
|
||||||
|
|
||||||
$triggers = $oCase->loadTriggers( $_SESSION['TASK'], 'DYNAFORM', $_GET['UID'], 'AFTER' );
|
$triggers = $oCase->loadTriggers( $_SESSION['TASK'], 'DYNAFORM', $_GET['UID'], 'AFTER' );
|
||||||
$_SESSION['TRIGGER_DEBUG']['NUM_TRIGGERS'] = count( $triggers );
|
$_SESSION['TRIGGER_DEBUG']['NUM_TRIGGERS'] = count( $triggers );
|
||||||
$_SESSION['TRIGGER_DEBUG']['TIME'] = G::toUpper(G::loadTranslation('ID_AFTER'));
|
$_SESSION['TRIGGER_DEBUG']['TIME'] = G::toUpper(G::loadTranslation('ID_AFTER'));
|
||||||
@@ -67,6 +69,8 @@ if ($_SESSION['TRIGGER_DEBUG']['NUM_TRIGGERS'] != 0) {
|
|||||||
//Execute after triggers - Start
|
//Execute after triggers - Start
|
||||||
$Fields['APP_DATA'] = $oCase->ExecuteTriggers( $_SESSION['TASK'], 'DYNAFORM', $_GET['UID'], 'AFTER', $Fields['APP_DATA'] );
|
$Fields['APP_DATA'] = $oCase->ExecuteTriggers( $_SESSION['TASK'], 'DYNAFORM', $_GET['UID'], 'AFTER', $Fields['APP_DATA'] );
|
||||||
//Execute after triggers - End
|
//Execute after triggers - End
|
||||||
|
|
||||||
|
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_EXECUTION_TIME'] = $oCase->arrayTriggerExecutionTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
//go to the next step
|
//go to the next step
|
||||||
@@ -85,4 +89,3 @@ if ($trigger_debug_session) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
G::header( 'location: ' . $aNextStep['PAGE'] );
|
G::header( 'location: ' . $aNextStep['PAGE'] );
|
||||||
|
|
||||||
|
|||||||
@@ -88,6 +88,7 @@ try {
|
|||||||
$_SESSION['TRIGGER_DEBUG']['DATA'] = Array ();
|
$_SESSION['TRIGGER_DEBUG']['DATA'] = Array ();
|
||||||
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_NAMES'] = Array ();
|
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_NAMES'] = Array ();
|
||||||
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_VALUES'] = Array ();
|
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_VALUES'] = Array ();
|
||||||
|
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_EXECUTION_TIME'] = [];
|
||||||
|
|
||||||
$triggers = $oCase->loadTriggers( $_SESSION['TASK'], 'ASSIGN_TASK', - 2, 'BEFORE' );
|
$triggers = $oCase->loadTriggers( $_SESSION['TASK'], 'ASSIGN_TASK', - 2, 'BEFORE' );
|
||||||
|
|
||||||
@@ -101,6 +102,7 @@ try {
|
|||||||
$_SESSION['TRIGGER_DEBUG']['info'][0]['TIME'] = G::toUpper(G::loadTranslation('ID_BEFORE'));
|
$_SESSION['TRIGGER_DEBUG']['info'][0]['TIME'] = G::toUpper(G::loadTranslation('ID_BEFORE'));
|
||||||
$_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;
|
||||||
}
|
}
|
||||||
|
|
||||||
unset($appFields['APP_STATUS']);
|
unset($appFields['APP_STATUS']);
|
||||||
@@ -146,6 +148,7 @@ try {
|
|||||||
$_SESSION['TRIGGER_DEBUG']['info'][1]['TIME'] = G::toUpper(G::loadTranslation('ID_AFTER'));
|
$_SESSION['TRIGGER_DEBUG']['info'][1]['TIME'] = G::toUpper(G::loadTranslation('ID_AFTER'));
|
||||||
$_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;
|
||||||
}
|
}
|
||||||
unset($appFields['APP_STATUS']);
|
unset($appFields['APP_STATUS']);
|
||||||
unset($appFields['APP_PROC_STATUS']);
|
unset($appFields['APP_PROC_STATUS']);
|
||||||
@@ -310,4 +313,3 @@ try {
|
|||||||
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'login/showMessage', '', $aMessage );
|
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'login/showMessage', '', $aMessage );
|
||||||
G::RenderPage( 'publish', 'blank' );
|
G::RenderPage( 'publish', 'blank' );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -149,6 +149,7 @@ try {
|
|||||||
$_SESSION['TRIGGER_DEBUG']['DATA'] = Array ();
|
$_SESSION['TRIGGER_DEBUG']['DATA'] = Array ();
|
||||||
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_NAMES'] = Array ();
|
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_NAMES'] = Array ();
|
||||||
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_VALUES'] = Array ();
|
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_VALUES'] = Array ();
|
||||||
|
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_EXECUTION_TIME'] = [];
|
||||||
|
|
||||||
$triggers = $oCase->loadTriggers( $_SESSION['TASK'], 'DYNAFORM', $_GET['UID'], 'AFTER' );
|
$triggers = $oCase->loadTriggers( $_SESSION['TASK'], 'DYNAFORM', $_GET['UID'], 'AFTER' );
|
||||||
|
|
||||||
@@ -170,6 +171,8 @@ try {
|
|||||||
//Execute after triggers - Start
|
//Execute after triggers - Start
|
||||||
$Fields['APP_DATA'] = $oCase->ExecuteTriggers( $_SESSION['TASK'], 'DYNAFORM', $_GET['UID'], 'AFTER', $Fields['APP_DATA'] );
|
$Fields['APP_DATA'] = $oCase->ExecuteTriggers( $_SESSION['TASK'], 'DYNAFORM', $_GET['UID'], 'AFTER', $Fields['APP_DATA'] );
|
||||||
//Execute after triggers - End
|
//Execute after triggers - End
|
||||||
|
|
||||||
|
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_EXECUTION_TIME'] = $oCase->arrayTriggerExecutionTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
//save data in PM Tables if necessary
|
//save data in PM Tables if necessary
|
||||||
@@ -493,4 +496,3 @@ try {
|
|||||||
G::RenderPage( 'publish', 'blank' );
|
G::RenderPage( 'publish', 'blank' );
|
||||||
die();
|
die();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -84,6 +84,7 @@ $_SESSION["TRIGGER_DEBUG"]["ERRORS"] = array();
|
|||||||
$_SESSION["TRIGGER_DEBUG"]["DATA"] = array();
|
$_SESSION["TRIGGER_DEBUG"]["DATA"] = array();
|
||||||
$_SESSION["TRIGGER_DEBUG"]["TRIGGERS_NAMES"] = array();
|
$_SESSION["TRIGGER_DEBUG"]["TRIGGERS_NAMES"] = array();
|
||||||
$_SESSION["TRIGGER_DEBUG"]["TRIGGERS_VALUES"] = array();
|
$_SESSION["TRIGGER_DEBUG"]["TRIGGERS_VALUES"] = array();
|
||||||
|
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_EXECUTION_TIME'] = [];
|
||||||
|
|
||||||
$_SESSION["TRIGGER_DEBUG"]["NUM_TRIGGERS"] = count($arrayTrigger);
|
$_SESSION["TRIGGER_DEBUG"]["NUM_TRIGGERS"] = count($arrayTrigger);
|
||||||
$_SESSION["TRIGGER_DEBUG"]["TIME"] = "AFTER";
|
$_SESSION["TRIGGER_DEBUG"]["TIME"] = "AFTER";
|
||||||
@@ -229,4 +230,3 @@ $_SESSION['BREAKSTEP']['NEXT_STEP'] = $aNextStep;
|
|||||||
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/showMessage', '', $aMessage );
|
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/showMessage', '', $aMessage );
|
||||||
G::RenderPage( 'publish' );
|
G::RenderPage( 'publish' );
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
|
|||||||
@@ -196,6 +196,7 @@ if ($flagExecuteBeforeTriggers) {
|
|||||||
$_SESSION['TRIGGER_DEBUG']['DATA'] = Array ();
|
$_SESSION['TRIGGER_DEBUG']['DATA'] = Array ();
|
||||||
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_NAMES'] = Array ();
|
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_NAMES'] = Array ();
|
||||||
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_VALUES'] = Array ();
|
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_VALUES'] = Array ();
|
||||||
|
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_EXECUTION_TIME'] = [];
|
||||||
|
|
||||||
$triggers = $oCase->loadTriggers( $_SESSION['TASK'], $_GET['TYPE'], $_GET['UID'], 'BEFORE' );
|
$triggers = $oCase->loadTriggers( $_SESSION['TASK'], $_GET['TYPE'], $_GET['UID'], 'BEFORE' );
|
||||||
|
|
||||||
@@ -210,6 +211,8 @@ if ($flagExecuteBeforeTriggers) {
|
|||||||
//Execute before triggers - Start
|
//Execute before triggers - Start
|
||||||
$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'] );
|
||||||
//Execute before triggers - End
|
//Execute before triggers - End
|
||||||
|
|
||||||
|
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_EXECUTION_TIME'] = $oCase->arrayTriggerExecutionTime;
|
||||||
} else {
|
} else {
|
||||||
unset( $_SESSION['_NO_EXECUTE_TRIGGERS_'] );
|
unset( $_SESSION['_NO_EXECUTE_TRIGGERS_'] );
|
||||||
}
|
}
|
||||||
@@ -632,6 +635,8 @@ try {
|
|||||||
$Fields['TAS_UID'] = $_SESSION['TASK'];
|
$Fields['TAS_UID'] = $_SESSION['TASK'];
|
||||||
//Execute after triggers - End
|
//Execute after triggers - End
|
||||||
|
|
||||||
|
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_EXECUTION_TIME'] = $oCase->arrayTriggerExecutionTime;
|
||||||
|
|
||||||
//Save data - Start
|
//Save data - Start
|
||||||
unset($Fields['APP_STATUS']);
|
unset($Fields['APP_STATUS']);
|
||||||
unset($Fields['APP_PROC_STATUS']);
|
unset($Fields['APP_PROC_STATUS']);
|
||||||
@@ -1187,4 +1192,3 @@ if ($_SESSION['TRIGGER_DEBUG']['ISSET'] && !$isIE) {
|
|||||||
showdebug();
|
showdebug();
|
||||||
}' );
|
}' );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -27,6 +27,10 @@ foreach ($aTriggers as $aTrigger) {
|
|||||||
$geshi->set_line_style( 'background: #f0f0f0;' );
|
$geshi->set_line_style( 'background: #f0f0f0;' );
|
||||||
|
|
||||||
$triggersList[$i]['code'] = $geshi->parse_code(); //$aTrigger['TRIGGERS_VALUES'][$index]['TRI_WEBBOT'];
|
$triggersList[$i]['code'] = $geshi->parse_code(); //$aTrigger['TRIGGERS_VALUES'][$index]['TRI_WEBBOT'];
|
||||||
|
|
||||||
|
$triggerUid = $aTrigger['TRIGGERS_VALUES'][$index]['TRI_UID'];
|
||||||
|
$triggersList[$i]['script_execution_time'] = $aTrigger['TRIGGERS_EXECUTION_TIME'][$triggerUid];
|
||||||
|
|
||||||
$i ++;
|
$i ++;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -337,7 +337,8 @@ Ext.onReady(function(){
|
|||||||
[
|
[
|
||||||
{name: 'name'},
|
{name: 'name'},
|
||||||
{name: 'execution_time'},
|
{name: 'execution_time'},
|
||||||
{name: 'code'}
|
{name: 'code'},
|
||||||
|
{name: "script_execution_time"}
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -362,7 +363,8 @@ Ext.onReady(function(){
|
|||||||
columns: [
|
columns: [
|
||||||
{id:'name',header: _('ID_NAME'), width: 60, sortable: true, dataIndex: 'name'},
|
{id:'name',header: _('ID_NAME'), width: 60, sortable: true, dataIndex: 'name'},
|
||||||
{header: _('ID_EXECUTION'), width: 30, sortable: true, dataIndex: 'execution_time'},
|
{header: _('ID_EXECUTION'), width: 30, sortable: true, dataIndex: 'execution_time'},
|
||||||
{header: "Code", width: 30, sortable: false, dataIndex: 'code', hidden: true}
|
{header: "Code", width: 30, sortable: false, dataIndex: 'code', hidden: true},
|
||||||
|
{header: _("ID_EXECUTION_TIME") + " (" + _("ID_MILLISECONDS") + ")", dataIndex: "script_execution_time", width: 60, sortable: true, hidden: true}
|
||||||
],
|
],
|
||||||
|
|
||||||
view: new Ext.grid.GroupingView({
|
view: new Ext.grid.GroupingView({
|
||||||
|
|||||||
Reference in New Issue
Block a user