From ecc421b3267eb0dc6d64bc1c0b1234bad9e64896 Mon Sep 17 00:00:00 2001 From: Sami Mokaddem Date: Wed, 13 Dec 2023 15:01:23 +0100 Subject: [PATCH] new: [settings:inbox.data_change_notify_for_all] Added setting to be more verbose for data changes --- src/Model/Behavior/NotifyAdminsBehavior.php | 5 ++++- .../CerebrateSettingsProvider.php | 15 ++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/Model/Behavior/NotifyAdminsBehavior.php b/src/Model/Behavior/NotifyAdminsBehavior.php index ad83888..d07df96 100644 --- a/src/Model/Behavior/NotifyAdminsBehavior.php +++ b/src/Model/Behavior/NotifyAdminsBehavior.php @@ -73,7 +73,10 @@ class NotifyAdminsBehavior extends Behavior public function isNotificationAllowed(EventInterface $event, EntityInterface $entity, ArrayObject $options): bool { $loggedUser = Configure::read('loggedUser'); - if (empty($loggedUser) || !empty($loggedUser['role']['perm_admin']) || !empty($loggedUser['role']['perm_sync'])) { + if ( + empty(Configure::read('inbox.data_change_notify_for_all', false)) && + (empty($loggedUser) || !empty($loggedUser['role']['perm_admin']) || !empty($loggedUser['role']['perm_sync'])) + ) { return false; } return true; diff --git a/src/Model/Table/SettingProviders/CerebrateSettingsProvider.php b/src/Model/Table/SettingProviders/CerebrateSettingsProvider.php index 1876c7b..dacfea9 100644 --- a/src/Model/Table/SettingProviders/CerebrateSettingsProvider.php +++ b/src/Model/Table/SettingProviders/CerebrateSettingsProvider.php @@ -351,7 +351,20 @@ class CerebrateSettingsProvider extends BaseSettingsProvider ], ] ] - ] + ], + 'Inbox' => [ + 'Data change notification' => [ + 'Data change notification' => [ + 'inbox.data_change_notify_for_all' => [ + 'name' => __('Notify data modification for all Users'), + 'type' => 'boolean', + 'description' => __('Turning this option ON will alert administrators whenever data is modified, irrespective of the user\'s role responsible for the modification.'), + 'default' => false, + 'severity' => 'warning', + ], + ], + ], + ], /* 'Features' => [ 'Demo Settings' => [