entityManager = $entityManager; $this->user = $user; $this->acl = $acl; $this->aclManager = $aclManager; $this->metadata = $metadata; $this->config = $config; $this->injectableFactory = $injectableFactory; } public function create($entityType, $user = null) { $normalizedName = Util::normilizeClassName($entityType); $className = '\\Espo\\Custom\\SelectManagers\\' . $normalizedName; if (!class_exists($className)) { $moduleName = $this->metadata->getScopeModuleName($entityType); if ($moduleName) { $className = '\\Espo\\Modules\\' . $moduleName . '\\SelectManagers\\' . $normalizedName; } else { $className = '\\Espo\\SelectManagers\\' . $normalizedName; } if (!class_exists($className)) { $className = '\\Espo\\Core\\SelectManagers\\Base'; } } if ($user) { $acl = $this->aclManager->createUserAcl($user); } else { $acl = $this->acl; $user = $this->user; } $selectManager = new $className($this->entityManager, $user, $acl, $this->aclManager, $this->metadata, $this->config, $this->injectableFactory); $selectManager->setEntityType($entityType); return $selectManager; } }