chg: [behavior:notifyAdmin] Small refactor to better handle deletions
parent
225913f9c6
commit
dde7bbe75f
|
@ -19,10 +19,15 @@ class NotifyAdminsBehavior extends Behavior
|
||||||
{
|
{
|
||||||
/** @var array */
|
/** @var array */
|
||||||
protected $_defaultConfig = [
|
protected $_defaultConfig = [
|
||||||
|
'implementedEvents' => [
|
||||||
|
'Model.afterSave' => 'afterSave',
|
||||||
|
'Model.afterDelete' => 'afterDelete',
|
||||||
|
'Model.beforeDelete' => 'beforeDelete',
|
||||||
|
],
|
||||||
'implementedMethods' => [
|
'implementedMethods' => [
|
||||||
'notifySiteAdmins' => 'notifySiteAdmins',
|
'notifySiteAdmins' => 'notifySiteAdmins',
|
||||||
'notifySiteAdminsForEntity' => 'notifySiteAdminsForEntity',
|
'notifySiteAdminsForEntity' => 'notifySiteAdminsForEntity',
|
||||||
]
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
/** @var AuditLog|null */
|
/** @var AuditLog|null */
|
||||||
|
@ -50,6 +55,13 @@ class NotifyAdminsBehavior extends Behavior
|
||||||
$this->notifySiteAdminsForEntityChange($entity);
|
$this->notifySiteAdminsForEntityChange($entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function beforeDelete(EventInterface $event, EntityInterface $entity, ArrayObject $options): void
|
||||||
|
{
|
||||||
|
if ($entity->table()->hasBehavior('MetaFields') && !isset($entity->meta_fields)) {
|
||||||
|
$entity = $entity->table()->loadInto($entity, ['MetaFields']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public function afterDelete(EventInterface $event, EntityInterface $entity, ArrayObject $options): void
|
public function afterDelete(EventInterface $event, EntityInterface $entity, ArrayObject $options): void
|
||||||
{
|
{
|
||||||
if (!$this->isNotificationAllowed($event, $entity, $options)) {
|
if (!$this->isNotificationAllowed($event, $entity, $options)) {
|
||||||
|
@ -114,6 +126,7 @@ class NotifyAdminsBehavior extends Behavior
|
||||||
unset($changedFields['meta_fields']);
|
unset($changedFields['meta_fields']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
$originalFields = $entity->isNew() ? [] : $entity->isNew();
|
||||||
$data = [
|
$data = [
|
||||||
'original' => $this->_serializeFields($originalFields),
|
'original' => $this->_serializeFields($originalFields),
|
||||||
'changed' => $this->_serializeFields($changedFields),
|
'changed' => $this->_serializeFields($changedFields),
|
||||||
|
|
Loading…
Reference in New Issue