fixes and cleanup

This commit is contained in:
Yuri Kuznetsov
2021-11-09 17:13:25 +02:00
parent 4ab2a0749c
commit 4e1f421dc1
37 changed files with 50 additions and 140 deletions

View File

@@ -36,7 +36,6 @@ use Espo\ORM\Entity;
use Espo\Core\ORM\Entity as CoreEntity;
use Espo\Core\{
Portal\AclManager,
Acl\Table,
Acl\ScopeData,
Acl\AccessEntityCREDSChecker,
@@ -50,14 +49,10 @@ class AccessChecker implements AccessEntityCREDSChecker
private $defaultAccessChecker;
private $aclManager;
public function __construct(
DefaultAccessChecker $defaultAccessChecker,
AclManager $aclManager
DefaultAccessChecker $defaultAccessChecker
) {
$this->defaultAccessChecker = $defaultAccessChecker;
$this->aclManager = $aclManager;
}
public function checkEntityRead(User $user, Entity $entity, ScopeData $data): bool

View File

@@ -30,7 +30,6 @@
namespace Espo\Core\Acl\AssignmentChecker;
use Espo\Core\{
Utils\ClassFinder,
Utils\Metadata,
InjectableFactory,
Acl\AssignmentChecker,
@@ -42,18 +41,14 @@ class AssignmentCheckerFactory
{
private $defaultClassName = DefaultAssignmentChecker::class;
private $classFinder;
private $metadata;
private $injectableFactory;
public function __construct(
ClassFinder $classFinder,
Metadata $metadata,
InjectableFactory $injectableFactory
) {
$this->classFinder = $classFinder;
$this->metadata = $metadata;
$this->injectableFactory = $injectableFactory;
}

View File

@@ -33,22 +33,16 @@ use Espo\ORM\Entity;
use Espo\Entities\User;
use Espo\Core\{
Utils\Metadata,
Acl\AssignmentChecker,
};
use Espo\Core\Acl\AssignmentChecker;
class AssignmentCheckerManager
{
private $checkerCache = [];
private $metadata;
private $factory;
public function __construct(Metadata $metadata, AssignmentCheckerFactory $factory)
public function __construct(AssignmentCheckerFactory $factory)
{
$this->metadata = $metadata;
$this->factory = $factory;
}

View File

@@ -29,7 +29,7 @@
namespace Espo\Core\Acl;
use StdClass;
use stdClass;
use RuntimeException;
/**
@@ -37,6 +37,9 @@ use RuntimeException;
*/
class FieldData
{
/**
* @phpstan-ignore-next-line
*/
private $raw;
private $actionData = [];
@@ -77,7 +80,7 @@ class FieldData
/**
* Create from a raw table value.
*/
public static function fromRaw(StdClass $raw): self
public static function fromRaw(stdClass $raw): self
{
$obj = new self();

View File

@@ -109,7 +109,7 @@ class ErrorOutput
bool $toPrintBody = false
): void {
$message = $exception->getMessage() ?? '';
$message = $exception->getMessage();
$statusCode = $exception->getCode();
if ($route) {
@@ -225,7 +225,7 @@ class ErrorOutput
{
$requestBodyString = $this->clearPasswords($request->getBodyContents());
$message = $exception->getMessage() ?? '';
$message = $exception->getMessage();
$statusCode = $exception->getCode();
$routeParams = $request->getRouteParams();

View File

@@ -77,7 +77,7 @@ class Daemon implements Runner
$processList = [];
while (true) {
while (true) { /** @phpstan-ignore-line */
$toSkip = false;
$runningCount = 0;

View File

@@ -406,7 +406,7 @@ class Upgrade implements Command
try {
$data = json_decode($result);
}
catch (Exception $e) {
catch (Exception $e) { /** @phpstan-ignore-line */
echo "Could not parse info about next version.\n";
return null;

View File

@@ -44,8 +44,6 @@ use Espo\Core\Utils\Route;
use Espo\Core\Utils\ClientManager;
use Espo\Core\ApplicationRunners\EntryPoint as EntryPointRunner;
use Espo\ORM\EntityManager;
use Slim\ResponseEmitter;
use Slim\Factory\ServerRequestCreatorFactory;
use Slim\Psr7\Response;
@@ -61,8 +59,6 @@ class Starter
private $entryPointManager;
private $entityManager;
private $clientManager;
private $applicationUser;
@@ -76,7 +72,6 @@ class Starter
public function __construct(
AuthenticationFactory $authenticationFactory,
EntryPointManager $entryPointManager,
EntityManager $entityManager,
ClientManager $clientManager,
ApplicationUser $applicationUser,
AuthTokenManager $authTokenManager,
@@ -85,7 +80,6 @@ class Starter
) {
$this->authenticationFactory = $authenticationFactory;
$this->entryPointManager = $entryPointManager;
$this->entityManager = $entityManager;
$this->clientManager = $clientManager;
$this->applicationUser = $applicationUser;
$this->authTokenManager = $authTokenManager;

View File

@@ -249,7 +249,7 @@ abstract class OAuth2Abstract implements IClient
while (true) {
usleep($this::LOCK_CHECK_STEP * 1000000);
if (!$this->isLocked()) {
if (!$this->isLocked()) { /** @phpstan-ignore-line */
$this->log->debug("Oauth: Waited until unlocked for client {$this->clientId}.");
$this->reFetch();

View File

@@ -65,6 +65,9 @@ use const JSON_PRESERVE_ZERO_FRACTION;
*/
class Htmlizer
{
/**
* @phpstan-ignore-next-line
*/
private $fileManager;
private $dateTime;

View File

@@ -55,7 +55,10 @@ class TemplateRenderer
private $applicationState;
private $template;
/**
* @var ?string
*/
private $template = null;
public function __construct(HtmlizerFactory $htmlizerFactory, ApplicationState $applicationState)
{
@@ -118,6 +121,13 @@ class TemplateRenderer
return $this;
}
public function setTemplate(string $template): self
{
$this->template = $template;
return $this;
}
public function render(): string
{
if (!$this->template) {

View File

@@ -32,7 +32,6 @@ namespace Espo\Core\Job;
use Espo\Core\{
Utils\Config,
Utils\File\Manager as FileManager,
ORM\EntityManager,
Utils\Log,
};
@@ -55,8 +54,6 @@ class JobManager
private $fileManager;
private $entityManager;
private $jobRunner;
private $log;
@@ -72,7 +69,6 @@ class JobManager
public function __construct(
Config $config,
FileManager $fileManager,
EntityManager $entityManager,
JobRunner $jobRunner,
Log $log,
ScheduleProcessor $scheduleProcessor,
@@ -82,7 +78,6 @@ class JobManager
) {
$this->config = $config;
$this->fileManager = $fileManager;
$this->entityManager = $entityManager;
$this->jobRunner = $jobRunner;
$this->log = $log;
$this->scheduleProcessor = $scheduleProcessor;

View File

@@ -63,7 +63,7 @@ class EventFactory
->withName($event->summary ?? null)
->withLocation($event->location ?? null)
->withDescription($event->description ?? null)
->withTimezone($ical->calendarTimeZone() ?? null)
->withTimezone($ical->calendarTimeZone() ?? null) /** @phpstan-ignore-line */
->withOrganizer($event->organizer ?? null)
->withAttendees($event->attendee ?? null);

View File

@@ -37,7 +37,6 @@ use Espo\Core\{
MassAction\Result,
MassAction\Data,
MassAction\MassAction,
Acl,
ORM\EntityManager,
Exceptions\Forbidden,
};
@@ -50,8 +49,6 @@ class MassUnfollow implements MassAction
{
private $queryBuilder;
private $acl;
private $streamService;
private $entityManager;
@@ -60,13 +57,11 @@ class MassUnfollow implements MassAction
public function __construct(
QueryBuilder $queryBuilder,
Acl $acl,
StreamService $streamService,
EntityManager $entityManager,
User $user
) {
$this->queryBuilder = $queryBuilder;
$this->acl = $acl;
$this->streamService = $streamService;
$this->entityManager = $entityManager;
$this->user = $user;

View File

@@ -34,7 +34,6 @@ use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\Core\{
Utils\Config,
Portal\AclManager as PortalAclManager,
Portal\Acl\AccessChecker\ScopeChecker,
Portal\Acl\AccessChecker\ScopeCheckerData,
@@ -59,17 +58,13 @@ class DefaultAccessChecker implements
{
private $aclManager;
private $config;
private $scopeChecker;
public function __construct(
PortalAclManager $aclManager,
Config $config,
ScopeChecker $scopeChecker
) {
$this->aclManager = $aclManager;
$this->config = $config;
$this->scopeChecker = $scopeChecker;
}

View File

@@ -45,8 +45,6 @@ use Espo\Core\{
class Application extends BaseApplication
{
private $portal;
public function __construct(?string $portalId)
{
date_default_timezone_set('UTC');
@@ -93,8 +91,6 @@ class Application extends BaseApplication
throw new Forbidden("Portal {$portalId} is not active.");
}
$this->portal = $portal;
$this->container->setPortal($portal);
}

View File

@@ -107,7 +107,6 @@ class Event extends Database implements
$this->preserveDuration &&
$entity->isAttributeChanged('dateStart') &&
$entity->get('dateStart') &&
$entity->isAttributeChanged('dateStart') &&
!$entity->isAttributeChanged('dateEnd')
) {
$dateEndPrevious = $entity->getFetched('dateEnd');

View File

@@ -29,23 +29,17 @@
namespace Espo\Core\Select\AccessControl;
use Espo\{
Core\Acl,
Entities\User,
};
use Espo\Core\Acl;
class DefaultFilterResolver implements FilterResolver
{
private $entityType;
private $user;
private $acl;
public function __construct(string $entityType, User $user, Acl $acl)
public function __construct(string $entityType, Acl $acl)
{
$this->entityType = $entityType;
$this->user = $user;
$this->acl = $acl;
}

View File

@@ -29,23 +29,17 @@
namespace Espo\Core\Select\AccessControl;
use Espo\{
Core\Portal\Acl,
Entities\User,
};
use Espo\Core\Portal\Acl;
class DefaultPortalFilterResolver implements FilterResolver
{
private $entityType;
private $user;
private $acl;
public function __construct(string $entityType, User $user, Acl $acl)
public function __construct(string $entityType, Acl $acl)
{
$this->entityType = $entityType;
$this->user = $user;
$this->acl = $acl;
}

View File

@@ -38,15 +38,12 @@ use Espo\{
class OnlyOwn implements Filter
{
private $entityType;
private $user;
private $fieldHelper;
public function __construct(string $entityType, User $user, FieldHelper $fieldHelper)
public function __construct(User $user, FieldHelper $fieldHelper)
{
$this->entityType = $entityType;
$this->user = $user;
$this->fieldHelper = $fieldHelper;
}

View File

@@ -38,15 +38,12 @@ use Espo\{
class OnlyTeam implements Filter
{
private $entityType;
private $user;
private $fieldHelper;
public function __construct(string $entityType, User $user, FieldHelper $fieldHelper)
public function __construct(User $user, FieldHelper $fieldHelper)
{
$this->entityType = $entityType;
$this->user = $user;
$this->fieldHelper = $fieldHelper;
}

View File

@@ -38,15 +38,12 @@ use Espo\{
class PortalOnlyAccount implements Filter
{
private $entityType;
private $user;
private $fieldHelper;
public function __construct(string $entityType, User $user, FieldHelper $fieldHelper)
public function __construct(User $user, FieldHelper $fieldHelper)
{
$this->entityType = $entityType;
$this->user = $user;
$this->fieldHelper = $fieldHelper;
}

View File

@@ -38,15 +38,12 @@ use Espo\{
class PortalOnlyContact implements Filter
{
private $entityType;
private $user;
private $fieldHelper;
public function __construct(string $entityType, User $user, FieldHelper $fieldHelper)
public function __construct(User $user, FieldHelper $fieldHelper)
{
$this->entityType = $entityType;
$this->user = $user;
$this->fieldHelper = $fieldHelper;
}

View File

@@ -38,15 +38,12 @@ use Espo\{
class PortalOnlyOwn implements Filter
{
private $entityType;
private $user;
private $fieldHelper;
public function __construct(string $entityType, User $user, FieldHelper $fieldHelper)
public function __construct(User $user, FieldHelper $fieldHelper)
{
$this->entityType = $entityType;
$this->user = $user;
$this->fieldHelper = $fieldHelper;
}
@@ -55,7 +52,7 @@ class PortalOnlyOwn implements Filter
{
if ($this->fieldHelper->hasCreatedByField()) {
$queryBuilder->where([
'createdById' => $this->user->id,
'createdById' => $this->user->getId(),
]);
return;

View File

@@ -29,7 +29,6 @@
namespace Espo\Core\Select\Applier\Appliers;
use Espo\Core\Utils\Config;
use Espo\Core\Select\Text\MetadataProvider;
use Espo\Core\Select\Text\FilterParams;
use Espo\Core\Select\Text\FullTextSearchData;
@@ -64,8 +63,6 @@ class TextFilter
private $user;
private $config;
private $metadataProvider;
private $fullTextSearchDataComposerFactory;
@@ -75,14 +72,12 @@ class TextFilter
public function __construct(
string $entityType,
User $user,
Config $config,
MetadataProvider $metadataProvider,
FullTextSearchDataComposerFactory $fullTextSearchDataComposerFactory,
FilterFactory $filterFactory
) {
$this->entityType = $entityType;
$this->user = $user;
$this->config = $config;
$this->metadataProvider = $metadataProvider;
$this->fullTextSearchDataComposerFactory = $fullTextSearchDataComposerFactory;
$this->filterFactory = $filterFactory;

View File

@@ -61,6 +61,6 @@ class UserTimeZoneProvider
return $this->config->get('timeZone');
}
return $preferences->get('timeZone') ?? 'UTC';
return $preferences->get('timeZone');
}
}

View File

@@ -95,7 +95,7 @@ class AdminNotificationManager
}
if ($this->config->get('adminNotificationsNewExtensionVersion')) {
$extensionsNeedingUpgrade = $this->getExtensionsNeedingUpgrade() ?? [];
$extensionsNeedingUpgrade = $this->getExtensionsNeedingUpgrade();
foreach ($extensionsNeedingUpgrade as $extensionName => $extensionDetails) {
$label = 'new' . Util::toCamelCase($extensionName, ' ', true) . 'VersionIsAvailable';

View File

@@ -123,7 +123,7 @@ class NamespaceLoader
{
$namespaces = $this->getNamespaces();
return array_keys($namespaces[$type]) ?? [];
return array_keys($namespaces[$type]);
}
private function addNamespace(string $type, string $name, $path): void

View File

@@ -33,8 +33,6 @@ use RuntimeException;
class Crypt
{
private $config;
private $key = null;
private $cryptKey = null;
@@ -43,8 +41,6 @@ class Crypt
public function __construct(Config $config)
{
$this->config = $config;
$this->cryptKey = $config->get('cryptKey', '');
}

View File

@@ -33,7 +33,6 @@ use Espo\Core\{
Exceptions\Error,
Utils\Util,
Utils\File\Manager as FileManager,
Utils\Metadata,
Utils\Config,
Utils\DataCache,
Utils\Resource\Reader as ResourceReader,
@@ -66,8 +65,6 @@ class Language
private $fileManager;
private $metadata;
private $resourceReader;
private $dataCache;
@@ -75,7 +72,6 @@ class Language
public function __construct(
?string $language,
FileManager $fileManager,
Metadata $metadata,
ResourceReader $resourceReader,
DataCache $dataCache,
bool $useCache = false,
@@ -84,7 +80,6 @@ class Language
$this->currentLanguage = $language ?? $this->defaultLanguage;
$this->fileManager = $fileManager;
$this->metadata = $metadata;
$this->resourceReader = $resourceReader;
$this->dataCache = $dataCache;

View File

@@ -40,20 +40,16 @@ class TemplateFileManager
{
private $config;
private $metadata;
private $fileManager;
private $fileReader;
public function __construct(
Config $config,
Metadata $metadata,
FileManager $fileManager,
FileReader $fileReader
) {
$this->config = $config;
$this->metadata = $metadata;
$this->fileManager = $fileManager;
$this->fileReader = $fileReader;
}

View File

@@ -60,13 +60,10 @@ class ServerStarter
private $config;
private $metadata;
public function __construct(Subscriber $subscriber, Config $config, Metadata $metadata)
{
$this->subscriber = $subscriber;
$this->config = $config;
$this->metadata = $metadata;
$this->categoriesData = $metadata->get(['app', 'webSocket', 'categories'], []);

View File

@@ -80,7 +80,7 @@ class ApiKey
return;
}
if ($entity->isApi() && $entity->get('authMethod') === 'Hmac') {
if ($entity->get('authMethod') === 'Hmac') {
$this->apiKey->removeSecretKeyForUserId($entity->getId());
}
}

View File

@@ -34,18 +34,11 @@ use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\Core\{
Portal\Acl\DefaultOwnershipChecker,
Portal\Acl\OwnershipAccountChecker,
};
class OwnershipChecker implements OwnershipAccountChecker
{
private $defaultOwnershipChecker;
public function __construct(DefaultOwnershipChecker $defaultOwnershipChecker) {
$this->defaultOwnershipChecker = $defaultOwnershipChecker;
}
public function checkAccount(User $user, Entity $entity): bool
{
$accountIdList = $user->getLinkMultipleIdList('accounts');

View File

@@ -37,7 +37,6 @@ use Espo\Core\Exceptions\{
use Espo\Core\{
Api\Request,
Acl,
Utils\Config,
Record\SearchParamsFetcher,
};
@@ -45,7 +44,7 @@ use Espo\Modules\Crm\Services\Activities as Service;
use Espo\Entities\User;
use StdClass;
use stdClass;
class Activities
{
@@ -55,8 +54,6 @@ class Activities
private $acl;
private $config;
private $searchParamsFetcher;
private $service;
@@ -64,13 +61,11 @@ class Activities
public function __construct(
User $user,
Acl $acl,
Config $config,
SearchParamsFetcher $searchParamsFetcher,
Service $service
) {
$this->user = $user;
$this->acl = $acl;
$this->config = $config;
$this->searchParamsFetcher = $searchParamsFetcher;
$this->service = $service;
}
@@ -257,7 +252,7 @@ class Activities
]);
}
public function getActionEntityTypeList(Request $request): StdClass
public function getActionEntityTypeList(Request $request): stdClass
{
$params = $request->getRouteParams();

View File

@@ -66,7 +66,7 @@ class Contact extends Record
]);
}
else {
if ($entity->get('accountId')) {
if ($entity->get('accountId')) { /** @phpstan-ignore-line */
$email->set([
'parentType' => 'Account',
'parentId' => $entity->get('accountId')

View File

@@ -392,17 +392,13 @@ class Processor
$target = $this->entityManager->getEntity($queueItem->get('targetType'), $queueItem->get('targetId'));
if (!$target || !$target->getId() || !$target->get('emailAddress')) {
$queueItem->set('status', 'Failed');
$this->entityManager->saveEntity($queueItem);
return false;
}
$emailAddress = $target->get('emailAddress');
if (!$emailAddress) {
if (
!$target ||
!$target->getId() ||
!$emailAddress
) {
$queueItem->set('status', 'Failed');
$this->entityManager->saveEntity($queueItem);