diff --git a/application/Espo/Classes/Acl/Email/OwnershipChecker.php b/application/Espo/Classes/Acl/Email/OwnershipChecker.php index 28cd029a5c..9f28c991c8 100644 --- a/application/Espo/Classes/Acl/Email/OwnershipChecker.php +++ b/application/Espo/Classes/Acl/Email/OwnershipChecker.php @@ -31,9 +31,7 @@ namespace Espo\Classes\Acl\Email; use Espo\Entities\User; use Espo\Entities\Email; - use Espo\ORM\Entity; - use Espo\Core\Acl\DefaultOwnershipChecker; use Espo\Core\Acl\OwnershipOwnChecker; use Espo\Core\Acl\OwnershipTeamChecker; @@ -44,26 +42,20 @@ use Espo\Core\Acl\OwnershipTeamChecker; */ class OwnershipChecker implements OwnershipOwnChecker, OwnershipTeamChecker { - private $defaultOwnershipChecker; - - public function __construct(DefaultOwnershipChecker $defaultOwnershipChecker) - { - $this->defaultOwnershipChecker = $defaultOwnershipChecker; - } + public function __construct(private DefaultOwnershipChecker $defaultOwnershipChecker) + {} public function checkOwn(User $user, Entity $entity): bool { - /** @var Email $entity */ - - if ($user->getId() === $entity->get('assignedUserId')) { + if ($user->getId() === $entity->getAssignedUser()?->getId()) { return true; } - if ($user->getId() === $entity->get('createdById')) { + if ($user->getId() === $entity->getCreatedBy()?->getId()) { return true; } - if ($entity->hasLinkMultipleId('assignedUsers', $user->getId())) { + if ($entity->getAssignedUsers()->hasId($user->getId())) { return true; } diff --git a/application/Espo/Entities/Email.php b/application/Espo/Entities/Email.php index 89d81fceca..29558cafac 100644 --- a/application/Espo/Entities/Email.php +++ b/application/Espo/Entities/Email.php @@ -679,6 +679,12 @@ class Email extends Entity return $this->getValueObject('users'); } + public function getAssignedUsers(): LinkMultiple + { + /** @var LinkMultiple */ + return $this->getValueObject('assignedUsers'); + } + public function getAssignedUser(): ?Link { /** @var ?Link */