diff --git a/application/Espo/Classes/AclPortal/Email/AccessChecker.php b/application/Espo/Classes/AclPortal/Email/AccessChecker.php index bafab21755..37ab239675 100644 --- a/application/Espo/Classes/AclPortal/Email/AccessChecker.php +++ b/application/Espo/Classes/AclPortal/Email/AccessChecker.php @@ -37,12 +37,12 @@ use Espo\Core\{ Portal\AclManager, Acl\Table, Acl\ScopeData, - Acl\AccessEntityCREDChecker, + Acl\AccessEntityCREDSChecker, Portal\Acl\DefaultAccessChecker, Portal\Acl\Traits\DefaultAccessCheckerDependency, }; -class AccessChecker implements AccessEntityCREDChecker +class AccessChecker implements AccessEntityCREDSChecker { use DefaultAccessCheckerDependency; diff --git a/application/Espo/AclPortal/Notification.php b/application/Espo/Classes/AclPortal/Notification/OwnershipChecker.php similarity index 87% rename from application/Espo/AclPortal/Notification.php rename to application/Espo/Classes/AclPortal/Notification/OwnershipChecker.php index fd4ce53ed2..bfac701e37 100644 --- a/application/Espo/AclPortal/Notification.php +++ b/application/Espo/Classes/AclPortal/Notification/OwnershipChecker.php @@ -27,18 +27,19 @@ * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ -namespace Espo\AclPortal; +namespace Espo\Classes\AclPortal\Notification; + +use Espo\Entities\User; -use Espo\Entities\User as EntityUser; use Espo\ORM\Entity; use Espo\Core\{ - AclPortal\Acl as Acl, + Acl\OwnershipOwnChecker, }; -class Notification extends Acl +class OwnershipChecker implements OwnershipOwnChecker { - public function checkIsOwner(EntityUser $user, Entity $entity) + public function checkOwn(User $user, Entity $entity): bool { if ($user->getId() === $entity->get('userId')) { return true; diff --git a/application/Espo/AclPortal/User.php b/application/Espo/Classes/AclPortal/User/OwnershipChecker.php similarity index 87% rename from application/Espo/AclPortal/User.php rename to application/Espo/Classes/AclPortal/User/OwnershipChecker.php index 5990fbf8c9..ea99eb41b3 100644 --- a/application/Espo/AclPortal/User.php +++ b/application/Espo/Classes/AclPortal/User/OwnershipChecker.php @@ -27,18 +27,19 @@ * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ -namespace Espo\AclPortal; +namespace Espo\Classes\AclPortal\User; + +use Espo\Entities\User; use Espo\ORM\Entity; -use Espo\Entities\User as UserEntity; use Espo\Core\{ - AclPortal\Acl as Acl, + Acl\OwnershipOwnChecker, }; -class User extends Acl +class OwnershipChecker implements OwnershipOwnChecker { - public function checkIsOwner(UserEntity $user, Entity $entity) + public function checkOwn(User $user, Entity $entity): bool { return $user->getId() === $entity->getId(); } diff --git a/application/Espo/Resources/metadata/aclDefs/Notification.json b/application/Espo/Resources/metadata/aclDefs/Notification.json index a246ed4f0f..76d3a413eb 100644 --- a/application/Espo/Resources/metadata/aclDefs/Notification.json +++ b/application/Espo/Resources/metadata/aclDefs/Notification.json @@ -1,3 +1,4 @@ { - "ownershipCheckerClassName": "Espo\\Classes\\Acl\\Notification\\OwnershipChecker" + "ownershipCheckerClassName": "Espo\\Classes\\Acl\\Notification\\OwnershipChecker", + "portalOwnershipCheckerClassName": "Espo\\Classes\\AclPortal\\Notification\\OwnershipChecker" } diff --git a/application/Espo/Resources/metadata/aclDefs/User.json b/application/Espo/Resources/metadata/aclDefs/User.json index ef9db91c08..4e0a9d0e28 100644 --- a/application/Espo/Resources/metadata/aclDefs/User.json +++ b/application/Espo/Resources/metadata/aclDefs/User.json @@ -1,4 +1,5 @@ { "accessCheckerClassName": "Espo\\Classes\\Acl\\User\\AccessChecker", - "ownershipCheckerClassName": "Espo\\Classes\\Acl\\User\\OwnershipChecker" + "ownershipCheckerClassName": "Espo\\Classes\\Acl\\User\\OwnershipChecker", + "portalOwnershipCheckerClassName": "Espo\\Classes\\AclPortal\\User\\OwnershipChecker" }