N°7157 - Change way to pass calling trigger to action in order to ease extensibility and to be able to use its attributes in placeholders

This commit is contained in:
Molkobain
2024-02-23 18:33:09 +01:00
parent 9c35cddfc0
commit 69677954b4
2 changed files with 5 additions and 17 deletions

View File

@@ -112,6 +112,8 @@ abstract class Trigger extends cmdbAbstractObject
return;
}
$aContextArgs['trigger->object()'] = $this;
// Find the related actions
$oLinkedActions = $this->Get('action_list');
@@ -121,7 +123,7 @@ abstract class Trigger extends cmdbAbstractObject
$aActionListOrdered[(int) $oLink->Get('order')][] = $oLink;
}
ksort($aActionListOrdered);
// Execute actions
foreach ($aActionListOrdered as $aActionSubList) {
foreach ($aActionSubList as $oLink) /** @var \DBObject $oLink */ {
@@ -131,6 +133,7 @@ abstract class Trigger extends cmdbAbstractObject
$oAction = MetaModel::GetObject('Action', $iActionId);
if ($oAction->IsActive()) {
$oKPI = new ExecutionKPI();
$aContextArgs['action->object()'] = $oAction;
$oAction->DoExecute($this, $aContextArgs);
$oKPI->ComputeStatsForExtension($oAction, 'DoExecute');
}