From c3a1236ca953d78a24521cda1f1e89ff036c3062 Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Tue, 13 Jun 2023 17:19:15 +0300 Subject: [PATCH 1/5] fix email assignment notificator --- application/Espo/Tools/EmailNotification/HookProcessor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/Espo/Tools/EmailNotification/HookProcessor.php b/application/Espo/Tools/EmailNotification/HookProcessor.php index d2297fe2df..011bb816b0 100644 --- a/application/Espo/Tools/EmailNotification/HookProcessor.php +++ b/application/Espo/Tools/EmailNotification/HookProcessor.php @@ -89,7 +89,7 @@ class HookProcessor private function processMultiple(CoreEntity $entity): void { $userIdList = $entity->getLinkMultipleIdList('assignedUsers'); - $fetchedAssignedUserIdList = $entity->getFetched('assignedUsersIds'); + $fetchedAssignedUserIdList = $entity->getFetched('assignedUsersIds') ?? []; foreach ($userIdList as $userId) { if ( From b456d86b225381f428f2bd54a68b5029a29c80f0 Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Tue, 13 Jun 2023 17:19:38 +0300 Subject: [PATCH 2/5] ref --- .../Core/Notification/DefaultAssignmentNotificator.php | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/application/Espo/Core/Notification/DefaultAssignmentNotificator.php b/application/Espo/Core/Notification/DefaultAssignmentNotificator.php index 865db01cdf..bd5ddff48c 100644 --- a/application/Espo/Core/Notification/DefaultAssignmentNotificator.php +++ b/application/Espo/Core/Notification/DefaultAssignmentNotificator.php @@ -56,12 +56,8 @@ class DefaultAssignmentNotificator implements AssignmentNotificator if ($entity->hasLinkMultipleField('assignedUsers')) { /** @var string[] $userIdList */ $userIdList = $entity->getLinkMultipleIdList('assignedUsers'); - /** @var ?string[] $fetchedAssignedUserIdList */ - $fetchedAssignedUserIdList = $entity->getFetched('assignedUsersIds'); - - if (!is_array($fetchedAssignedUserIdList)) { - $fetchedAssignedUserIdList = []; - } + /** @var string[] $fetchedAssignedUserIdList */ + $fetchedAssignedUserIdList = $entity->getFetched('assignedUsersIds') ?? []; foreach ($userIdList as $userId) { if (in_array($userId, $fetchedAssignedUserIdList)) { From 1628d3b566e8e4000eb479ff5e352f59bc44e049 Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Tue, 13 Jun 2023 17:22:32 +0300 Subject: [PATCH 3/5] fix update --- upgrades/7.5/scripts/AfterUpgrade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/upgrades/7.5/scripts/AfterUpgrade.php b/upgrades/7.5/scripts/AfterUpgrade.php index d86d477dbd..49e0cea4a2 100644 --- a/upgrades/7.5/scripts/AfterUpgrade.php +++ b/upgrades/7.5/scripts/AfterUpgrade.php @@ -61,7 +61,7 @@ class AfterUpgrade continue; } - $data1 = $metadata->getCustom('selectDefs', $entityType); + $data1 = $metadata->getCustom('selectDefs', $entityType) ?? (object) []; $data1->primaryFilterClassNameMap = $primaryFilterClassNameMap; $metadata->saveCustom('selectDefs', $entityType, $data1); From fefadc58bddbbc6c3c0803fcca1070a10e210457 Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Tue, 13 Jun 2023 17:31:13 +0300 Subject: [PATCH 4/5] 7.5.1 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index df2eaa5c11..fd05ef5d14 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "espocrm", - "version": "7.5.0", + "version": "7.5.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "espocrm", - "version": "7.4.6", + "version": "7.5.1", "hasInstallScript": true, "license": "GPL-3.0", "dependencies": { diff --git a/package.json b/package.json index 3d7e8bb7ff..a365514fbf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "espocrm", - "version": "7.5.0", + "version": "7.5.1", "description": "Open-source CRM.", "repository": { "type": "git", From 04906c53070d508acb880fecaef5e1ec95233cdc Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Fri, 16 Jun 2023 10:49:20 +0300 Subject: [PATCH 5/5] fix attachment access in posts to all users --- .../Espo/Classes/Acl/Attachment/AccessChecker.php | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/application/Espo/Classes/Acl/Attachment/AccessChecker.php b/application/Espo/Classes/Acl/Attachment/AccessChecker.php index cdcc0cac8b..76f6c8f1e0 100644 --- a/application/Espo/Classes/Acl/Attachment/AccessChecker.php +++ b/application/Espo/Classes/Acl/Attachment/AccessChecker.php @@ -48,17 +48,12 @@ class AccessChecker implements AccessEntityCREDChecker { use DefaultAccessCheckerDependency; - private AclManager $aclManager; - private EntityManager $entityManager; - public function __construct( DefaultAccessChecker $defaultAccessChecker, - AclManager $aclManager, - EntityManager $entityManager + private AclManager $aclManager, + private EntityManager $entityManager ) { $this->defaultAccessChecker = $defaultAccessChecker; - $this->aclManager = $aclManager; - $this->entityManager = $entityManager; } public function checkEntityRead(User $user, Entity $entity, ScopeData $data): bool @@ -150,6 +145,10 @@ class AccessChecker implements AccessEntityCREDChecker return null; } + if ($note->getTargetType() === Note::TARGET_ALL) { + return true; + } + if (!$note->getParentId() || !$note->getParentType()) { return null; }