From 63aaa2fbb015b9f278af0900dd840a4a7ae68807 Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Fri, 18 Feb 2022 13:38:11 +0200 Subject: [PATCH] select maanger factory use acl provider --- .../Espo/Core/Select/SelectManagerFactory.php | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/application/Espo/Core/Select/SelectManagerFactory.php b/application/Espo/Core/Select/SelectManagerFactory.php index 89fd981afc..f4ebe09ad9 100644 --- a/application/Espo/Core/Select/SelectManagerFactory.php +++ b/application/Espo/Core/Select/SelectManagerFactory.php @@ -29,13 +29,11 @@ namespace Espo\Core\Select; -use Espo\Core\Exceptions\Error; +use Espo\Core\Utils\Acl\UserAclManagerProvider; use Espo\Core\{ InjectableFactory, Acl, - AclManager, - Utils\Util, Utils\ClassFinder, }; @@ -52,26 +50,30 @@ class SelectManagerFactory protected $defaultClassName = SelectManager::class; private $user; + private $acl; - private $aclManager; + + private $aclManagerProvider; + private $injectableFactory; + private $classFinder; public function __construct( User $user, Acl $acl, - AclManager $aclManager, + UserAclManagerProvider $aclManagerProvider, InjectableFactory $injectableFactory, ClassFinder $classFinder ) { $this->user = $user; $this->acl = $acl; - $this->aclManager = $aclManager; + $this->aclManagerProvider = $aclManagerProvider; $this->injectableFactory = $injectableFactory; $this->classFinder = $classFinder; } - public function create(string $entityType, ?User $user = null) : SelectManager + public function create(string $entityType, ?User $user = null): SelectManager { $className = $this->classFinder->find('SelectManagers', $entityType); @@ -80,8 +82,9 @@ class SelectManagerFactory } if ($user) { - $acl = $this->aclManager->createUserAcl($user); - } else { + $acl = $this->aclManagerProvider->get($user)->createUserAcl($user); + } + else { $acl = $this->acl; $user = $this->user; }