Merged in bugfix/HOR-4602 (pull request #6682)
HOR-4602 Approved-by: Julio Cesar Laura Avendaño <contact@julio-laura.com>
This commit is contained in:
@@ -3428,40 +3428,40 @@ class Cases
|
|||||||
/**
|
/**
|
||||||
* Execute trigger in task
|
* Execute trigger in task
|
||||||
* @name executeTriggers
|
* @name executeTriggers
|
||||||
* @param string $sTasUid
|
* @param string $tasUid
|
||||||
* @param string $sStepType
|
* @param string $stepType
|
||||||
* @param array $sStepUidObj
|
* @param array $stepUidObj
|
||||||
* @param string $sTriggerType
|
* @param string $triggerType
|
||||||
* @param array $aFields
|
* @param array $fieldsCase
|
||||||
|
*
|
||||||
* @return integer
|
* @return integer
|
||||||
*/
|
*/
|
||||||
public function executeTriggers($sTasUid, $sStepType, $sStepUidObj, $sTriggerType, $aFields = array())
|
public function executeTriggers($tasUid, $stepType, $stepUidObj, $triggerType, $fieldsCase = [])
|
||||||
{
|
{
|
||||||
/*----------------------------------********---------------------------------*/
|
/*----------------------------------********---------------------------------*/
|
||||||
ChangeLog::getChangeLog()
|
ChangeLog::getChangeLog()
|
||||||
->setObjectUid($sStepUidObj)
|
->setObjectUid($stepUidObj)
|
||||||
->getExecutedAtIdByTriggerType($sTriggerType);
|
->getExecutedAtIdByTriggerType($triggerType);
|
||||||
/*----------------------------------********---------------------------------*/
|
/*----------------------------------********---------------------------------*/
|
||||||
|
|
||||||
$aTriggers = $this->loadTriggers($sTasUid, $sStepType, $sStepUidObj, $sTriggerType);
|
$listTriggers = $this->loadTriggers($tasUid, $stepType, $stepUidObj, $triggerType);
|
||||||
|
|
||||||
if (count($aTriggers) > 0) {
|
if (count($listTriggers) > 0) {
|
||||||
global $oPMScript;
|
global $oPMScript;
|
||||||
|
|
||||||
$oPMScript = new PMScript();
|
$oPMScript = new PMScript();
|
||||||
$oPMScript->setFields($aFields);
|
$oPMScript->setFields($fieldsCase);
|
||||||
|
|
||||||
/*----------------------------------********---------------------------------*/
|
/*----------------------------------********---------------------------------*/
|
||||||
$cs = new CodeScanner(config("system.workspace"));
|
$cs = new CodeScanner(config("system.workspace"));
|
||||||
|
|
||||||
$strFoundDisabledCode = "";
|
$strFoundDisabledCode = "";
|
||||||
/*----------------------------------********---------------------------------*/
|
/*----------------------------------********---------------------------------*/
|
||||||
|
|
||||||
foreach ($aTriggers as $aTrigger) {
|
foreach ($listTriggers as $trigger) {
|
||||||
/*----------------------------------********---------------------------------*/
|
/*----------------------------------********---------------------------------*/
|
||||||
if (PMLicensedFeatures::getSingleton()->verifyfeature("B0oWlBLY3hHdWY0YUNpZEtFQm5CeTJhQlIwN3IxMEkwaG4=")) {
|
if (PMLicensedFeatures::getSingleton()->verifyfeature("B0oWlBLY3hHdWY0YUNpZEtFQm5CeTJhQlIwN3IxMEkwaG4=")) {
|
||||||
//Check disabled code
|
//Check disabled code
|
||||||
$arrayFoundDisabledCode = $cs->checkDisabledCode("SOURCE", $aTrigger["TRI_WEBBOT"]);
|
$arrayFoundDisabledCode = $cs->checkDisabledCode("SOURCE", $trigger["TRI_WEBBOT"]);
|
||||||
|
|
||||||
if (!empty($arrayFoundDisabledCode)) {
|
if (!empty($arrayFoundDisabledCode)) {
|
||||||
$strCodeAndLine = "";
|
$strCodeAndLine = "";
|
||||||
@@ -3470,30 +3470,40 @@ class Cases
|
|||||||
$strCodeAndLine .= (($strCodeAndLine != "") ? ", " : "") . G::LoadTranslation("ID_DISABLED_CODE_CODE_AND_LINE", array($key, implode(", ", $value)));
|
$strCodeAndLine .= (($strCodeAndLine != "") ? ", " : "") . G::LoadTranslation("ID_DISABLED_CODE_CODE_AND_LINE", array($key, implode(", ", $value)));
|
||||||
}
|
}
|
||||||
|
|
||||||
$strFoundDisabledCode .= "<br />- " . $aTrigger["TRI_TITLE"] . ": " . $strCodeAndLine;
|
$strFoundDisabledCode .= "<br />- " . $trigger["TRI_TITLE"] . ": " . $strCodeAndLine;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*----------------------------------********---------------------------------*/
|
/*----------------------------------********---------------------------------*/
|
||||||
|
|
||||||
//Execute
|
//Execute
|
||||||
$bExecute = true;
|
$execute = true;
|
||||||
|
|
||||||
if ($aTrigger['ST_CONDITION'] !== '') {
|
if ($trigger['ST_CONDITION'] !== '') {
|
||||||
$oPMScript->setDataTrigger($aTrigger);
|
$oPMScript->setDataTrigger($trigger);
|
||||||
$oPMScript->setScript($aTrigger['ST_CONDITION']);
|
$oPMScript->setScript($trigger['ST_CONDITION']);
|
||||||
$oPMScript->setExecutedOn(PMScript::CONDITION);
|
$oPMScript->setExecutedOn(PMScript::CONDITION);
|
||||||
$bExecute = $oPMScript->evaluate();
|
$execute = $oPMScript->evaluate();
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($bExecute) {
|
if ($execute) {
|
||||||
$oPMScript->setDataTrigger($aTrigger);
|
$oPMScript->setDataTrigger($trigger);
|
||||||
$oPMScript->setScript($aTrigger['TRI_WEBBOT']);
|
$oPMScript->setScript($trigger['TRI_WEBBOT']);
|
||||||
$executedOn = $oPMScript->getExecutionOriginForAStep($sStepType, $sStepUidObj, $sTriggerType);
|
$executedOn = $oPMScript->getExecutionOriginForAStep($stepType, $stepUidObj, $triggerType);
|
||||||
$oPMScript->setExecutedOn($executedOn);
|
$oPMScript->setExecutedOn($executedOn);
|
||||||
$oPMScript->execute();
|
$oPMScript->execute();
|
||||||
|
$fieldsTrigger = $oPMScript->aFields;
|
||||||
|
|
||||||
$this->arrayTriggerExecutionTime[$aTrigger['TRI_UID']] = $oPMScript->scriptExecutionTime;
|
//We will be load the last appData
|
||||||
|
if ($oPMScript->executedOn() === $oPMScript::AFTER_ROUTING) {
|
||||||
|
$appUid = !empty($fieldsCase['APPLICATION']) ? $fieldsCase['APPLICATION'] : '';
|
||||||
|
if (!empty($appUid)) {
|
||||||
|
$lastAppFields = $this->loadCase($appUid)['APP_DATA'];
|
||||||
|
$fieldsTrigger = array_merge($lastAppFields, $fieldsTrigger);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->arrayTriggerExecutionTime[$trigger['TRI_UID']] = $oPMScript->scriptExecutionTime;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*----------------------------------********---------------------------------*/
|
/*----------------------------------********---------------------------------*/
|
||||||
@@ -3502,9 +3512,9 @@ class Cases
|
|||||||
}
|
}
|
||||||
/*----------------------------------********---------------------------------*/
|
/*----------------------------------********---------------------------------*/
|
||||||
|
|
||||||
return $oPMScript->aFields;
|
return $fieldsTrigger;
|
||||||
} else {
|
} else {
|
||||||
return $aFields;
|
return $fieldsCase;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user