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

@@ -41,12 +41,6 @@ require_once(APPROOT.'/core/email.class.inc.php');
*/
abstract class Action extends cmdbAbstractObject
{
/**
* @var $oCallingTrigger Trigger|null The trigger that called this action {@see DoExecute}
* @since 3.2.0
*/
protected ?Trigger $oCallingTrigger = null;
/**
* @throws \CoreException
* @throws \Exception
@@ -276,14 +270,6 @@ abstract class ActionNotification extends Action
// MetaModel::Init_SetZListItems('default_search', array('name'));
}
/**
* @inheritDoc
*/
public function DoExecute($oTrigger, $aContextArgs)
{
$this->oCallingTrigger = $oTrigger;
}
/**
* @param $sLanguage
* @param $sLanguageCode
@@ -447,7 +433,7 @@ class ActionEmail extends ActionNotification
*/
protected function FindRecipients($sRecipAttCode, $aArgs)
{
$oTrigger = $this->oCallingTrigger;
$oTrigger = $aArgs['trigger->object()'];
$sOQL = $this->Get($sRecipAttCode);
if (utils::IsNullOrEmptyString($sOQL)) return '';
@@ -523,7 +509,6 @@ class ActionEmail extends ActionNotification
*/
public function DoExecute($oTrigger, $aContextArgs)
{
parent::DoExecute($oTrigger, $aContextArgs);
if (MetaModel::IsLogEnabledNotification())
{
$oLog = new EventNotificationEmail();