mirror of
https://github.com/espocrm/espocrm.git
synced 2026-06-28 15:06:06 +00:00
type fixes
This commit is contained in:
@@ -78,6 +78,9 @@ class AclManager
|
||||
|
||||
protected $mapHashMap = [];
|
||||
|
||||
/**
|
||||
* @var class-string
|
||||
*/
|
||||
protected $userAclClassName = Acl::class;
|
||||
|
||||
protected const PERMISSION_ASSIGNMENT = 'assignment';
|
||||
@@ -287,7 +290,7 @@ class AclManager
|
||||
return $this->checkScope($user, $subject, $action);
|
||||
}
|
||||
|
||||
/** @var mixed */
|
||||
/** @var mixed $entity */
|
||||
$entity = $subject;
|
||||
|
||||
if ($entity instanceof Entity) {
|
||||
|
||||
@@ -44,13 +44,16 @@ use Espo\Core\{
|
||||
|
||||
class AccessCheckerFactory
|
||||
{
|
||||
/**
|
||||
* @var class-string
|
||||
*/
|
||||
private $defaultClassName = DefaultAccessChecker::class;
|
||||
|
||||
private $classFinder;
|
||||
private ClassFinder $classFinder;
|
||||
|
||||
private $metadata;
|
||||
private Metadata $metadata;
|
||||
|
||||
private $injectableFactory;
|
||||
private InjectableFactory $injectableFactory;
|
||||
|
||||
public function __construct(
|
||||
ClassFinder $classFinder,
|
||||
@@ -76,6 +79,9 @@ class AccessCheckerFactory
|
||||
return $this->injectableFactory->createWithBinding($className, $bindingContainer);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return class-string
|
||||
*/
|
||||
private function getClassName(string $scope): string
|
||||
{
|
||||
$className1 = $this->metadata->get(['aclDefs', $scope, 'portalAccessCheckerClassName']);
|
||||
|
||||
@@ -47,6 +47,12 @@ use Espo\Core\{
|
||||
|
||||
/**
|
||||
* A default implementation for access checking for portal.
|
||||
*
|
||||
* @implements AccessEntityCreateChecker<Entity>
|
||||
* @implements AccessEntityReadChecker<Entity>
|
||||
* @implements AccessEntityEditChecker<Entity>
|
||||
* @implements AccessEntityDeleteChecker<Entity>
|
||||
* @implements AccessEntityStreamChecker<Entity>
|
||||
*/
|
||||
class DefaultAccessChecker implements
|
||||
|
||||
@@ -56,9 +62,9 @@ class DefaultAccessChecker implements
|
||||
AccessEntityDeleteChecker,
|
||||
AccessEntityStreamChecker
|
||||
{
|
||||
private $aclManager;
|
||||
private PortalAclManager $aclManager;
|
||||
|
||||
private $scopeChecker;
|
||||
private ScopeChecker $scopeChecker;
|
||||
|
||||
public function __construct(
|
||||
PortalAclManager $aclManager,
|
||||
|
||||
@@ -43,11 +43,14 @@ use Espo\Core\{
|
||||
|
||||
class OwnershipCheckerFactory
|
||||
{
|
||||
/**
|
||||
* @var class-string
|
||||
*/
|
||||
private $defaultClassName = DefaultOwnershipChecker::class;
|
||||
|
||||
private $metadata;
|
||||
private Metadata $metadata;
|
||||
|
||||
private $injectableFactory;
|
||||
private InjectableFactory $injectableFactory;
|
||||
|
||||
public function __construct(
|
||||
Metadata $metadata,
|
||||
@@ -71,6 +74,9 @@ class OwnershipCheckerFactory
|
||||
return $this->injectableFactory->createWithBinding($className, $bindingContainer);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return class-string
|
||||
*/
|
||||
private function getClassName(string $scope): string
|
||||
{
|
||||
$className = $this->metadata->get(['aclDefs', $scope, 'portalOwnershipCheckerClassName']);
|
||||
|
||||
@@ -60,21 +60,18 @@ use RuntimeException;
|
||||
|
||||
class AclManager extends InternalAclManager
|
||||
{
|
||||
/**
|
||||
* @var class-string
|
||||
*/
|
||||
protected $userAclClassName = Acl::class;
|
||||
|
||||
private $internalAclManager = null;
|
||||
private ?InternalAclManager $internalAclManager = null;
|
||||
|
||||
private $portal = null;
|
||||
private ?Portal $portal = null;
|
||||
|
||||
/**
|
||||
* @var TableFactory
|
||||
*/
|
||||
private $portalTableFactory;
|
||||
private TableFactory $portalTableFactory;
|
||||
|
||||
/**
|
||||
* @var MapFactory
|
||||
*/
|
||||
private $portalMapFactory;
|
||||
private MapFactory $portalMapFactory;
|
||||
|
||||
public function __construct(
|
||||
AccessCheckerFactory $accessCheckerFactory,
|
||||
|
||||
@@ -44,9 +44,12 @@ use Espo\Core\Exceptions\Error;
|
||||
*/
|
||||
class AclManagerContainer
|
||||
{
|
||||
/**
|
||||
* @var array<string,AclManager>
|
||||
*/
|
||||
private $data = [];
|
||||
|
||||
private $injectableFactory;
|
||||
private InjectableFactory $injectableFactory;
|
||||
|
||||
public function __construct(InjectableFactory $injectableFactory)
|
||||
{
|
||||
|
||||
@@ -38,7 +38,7 @@ use Espo\Core\{
|
||||
|
||||
class Container extends BaseContainer
|
||||
{
|
||||
private $portalIsSet = false;
|
||||
private bool $portalIsSet = false;
|
||||
|
||||
public function setPortal(PortalEntity $portal): void
|
||||
{
|
||||
|
||||
@@ -38,7 +38,6 @@ use Espo\Core\{
|
||||
|
||||
use Espo\Entities\{
|
||||
Preferences,
|
||||
Portal,
|
||||
};
|
||||
|
||||
class Language implements Loader
|
||||
@@ -49,18 +48,14 @@ class Language implements Loader
|
||||
|
||||
private $preferences;
|
||||
|
||||
private $portal;
|
||||
|
||||
public function __construct(
|
||||
InjectableFactory $injectableFactory,
|
||||
Config $config,
|
||||
Preferences $preferences,
|
||||
Portal $portal
|
||||
Preferences $preferences
|
||||
) {
|
||||
$this->injectableFactory = $injectableFactory;
|
||||
$this->config = $config;
|
||||
$this->preferences = $preferences;
|
||||
$this->portal = $portal;
|
||||
}
|
||||
|
||||
public function load(): LanguageService
|
||||
@@ -70,8 +65,6 @@ class Language implements Loader
|
||||
'useCache' => $this->config->get('useCache') ?? false,
|
||||
]);
|
||||
|
||||
$language->setPortal($this->portal);
|
||||
|
||||
return $language;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,10 +38,16 @@ use stdClass;
|
||||
|
||||
class Config extends BaseConfig
|
||||
{
|
||||
private $portalParamsSet = false;
|
||||
private bool $portalParamsSet = false;
|
||||
|
||||
/**
|
||||
* @var array<string,mixed>
|
||||
*/
|
||||
private $portalData = [];
|
||||
|
||||
/**
|
||||
* @var string[]
|
||||
*/
|
||||
private $portalParamList = [
|
||||
'companyLogoId',
|
||||
'tabList',
|
||||
@@ -57,6 +63,10 @@ class Config extends BaseConfig
|
||||
'defaultCurrency',
|
||||
];
|
||||
|
||||
/**
|
||||
* @param mixed $default
|
||||
* @return mixed
|
||||
*/
|
||||
public function get(string $name, $default = null)
|
||||
{
|
||||
if (array_key_exists($name, $this->portalData)) {
|
||||
@@ -88,8 +98,10 @@ class Config extends BaseConfig
|
||||
|
||||
/**
|
||||
* Override parameters for a portal. Can be called only once.
|
||||
*
|
||||
* @param array<string,mixed> $data
|
||||
*/
|
||||
public function setPortalParameters(array $data = [])
|
||||
public function setPortalParameters(array $data = []): void
|
||||
{
|
||||
if ($this->portalParamsSet) {
|
||||
throw new Error("Can't set portal params second time.");
|
||||
|
||||
@@ -29,11 +29,7 @@
|
||||
|
||||
namespace Espo\Core\Portal\Utils;
|
||||
|
||||
use Espo\Entities\Portal;
|
||||
|
||||
class Language extends \Espo\Core\Utils\Language
|
||||
{
|
||||
public function setPortal($portal)
|
||||
{
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -93,6 +93,7 @@ class Config
|
||||
/**
|
||||
* Get a parameter value.
|
||||
*
|
||||
* @param mixed $default
|
||||
* @return mixed
|
||||
*/
|
||||
public function get(string $name, $default = null)
|
||||
|
||||
Reference in New Issue
Block a user