From fec6bf8ee0bf6562c7aae21310129fa38ba03f04 Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Wed, 7 Feb 2024 09:01:56 +0200 Subject: [PATCH] mass email link checker --- .../LinkCheckers/InboundEmailLinkChecker.php | 48 +++++++++++++++++++ .../Resources/metadata/aclDefs/MassEmail.json | 5 +- 2 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 application/Espo/Modules/Crm/Classes/Acl/MassEmail/LinkCheckers/InboundEmailLinkChecker.php diff --git a/application/Espo/Modules/Crm/Classes/Acl/MassEmail/LinkCheckers/InboundEmailLinkChecker.php b/application/Espo/Modules/Crm/Classes/Acl/MassEmail/LinkCheckers/InboundEmailLinkChecker.php new file mode 100644 index 0000000000..72bc943e59 --- /dev/null +++ b/application/Espo/Modules/Crm/Classes/Acl/MassEmail/LinkCheckers/InboundEmailLinkChecker.php @@ -0,0 +1,48 @@ +. + * + * The interactive user interfaces in modified source and object code versions + * of this program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU Affero General Public License version 3. + * + * In accordance with Section 7(b) of the GNU Affero General Public License version 3, + * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. + ************************************************************************/ + +namespace Espo\Modules\Crm\Classes\Acl\MassEmail\LinkCheckers; + +use Espo\Core\Acl\LinkChecker; +use Espo\Entities\InboundEmail; +use Espo\Entities\User; +use Espo\Modules\Crm\Entities\MassEmail; +use Espo\ORM\Entity; + +/** + * @implements LinkChecker + * @noinspection PhpUnused + */ +class InboundEmailLinkChecker implements LinkChecker +{ + public function check(User $user, Entity $entity, Entity $foreignEntity): bool + { + return $foreignEntity->smtpIsForMassEmail(); + } +} diff --git a/application/Espo/Modules/Crm/Resources/metadata/aclDefs/MassEmail.json b/application/Espo/Modules/Crm/Resources/metadata/aclDefs/MassEmail.json index 4df8077061..85bc2edc20 100644 --- a/application/Espo/Modules/Crm/Resources/metadata/aclDefs/MassEmail.json +++ b/application/Espo/Modules/Crm/Resources/metadata/aclDefs/MassEmail.json @@ -1,3 +1,6 @@ { - "ownershipCheckerClassName": "Espo\\Modules\\Crm\\Classes\\Acl\\MassEmail\\OwnershipChecker" + "ownershipCheckerClassName": "Espo\\Modules\\Crm\\Classes\\Acl\\MassEmail\\OwnershipChecker", + "linkCheckerClassNameMap": { + "inboundEmail": "Espo\\Modules\\Crm\\Classes\\Acl\\MassEmail\\LinkCheckers\\InboundEmailLinkChecker" + } }