type fixes

This commit is contained in:
Yuri Kuznetsov
2022-03-11 14:29:15 +02:00
parent d34c8d1918
commit fd5c7763bc
7 changed files with 123 additions and 57 deletions
@@ -41,9 +41,9 @@ class AdminNotifications implements
{
use Di\EntityManagerSetter;
protected $config;
private $config;
protected $configWriter;
private $configWriter;
public function __construct(Config $config, ConfigWriter $configWriter)
{
@@ -54,12 +54,12 @@ class AdminNotifications implements
/**
* Job for checking a new version of EspoCRM.
*/
public function jobCheckNewVersion()
public function jobCheckNewVersion(): void
{
$config = $this->config;
if (!$config->get('adminNotifications') || !$config->get('adminNotificationsNewVersion')) {
return true;
return;
}
$latestRelease = $this->getLatestRelease();
@@ -69,7 +69,7 @@ class AdminNotifications implements
$this->configWriter->save();
return true;
return;
}
if ($config->get('latestVersion') != $latestRelease['version']) {
@@ -81,25 +81,23 @@ class AdminNotifications implements
$this->configWriter->save();
return true;
return;
}
if (!empty($latestRelease['notes'])) {
// @todo Find and modify notification.
}
return true;
}
/**
* Job for checking a new version of installed extensions.
*/
public function jobCheckNewExtensionVersion()
public function jobCheckNewExtensionVersion(): void
{
$config = $this->config;
if (!$config->get('adminNotifications') || !$config->get('adminNotificationsNewExtensionVersion')) {
return true;
return;
}
$query = $this->entityManager->getQueryBuilder()
@@ -136,7 +134,6 @@ class AdminNotifications implements
$save = false;
foreach ($latestReleases as $extensionName => $extensionData) {
if (empty($latestExtensionVersions[$extensionName])) {
$latestExtensionVersions[$extensionName] = $extensionData['version'];
$save = true;
@@ -166,10 +163,12 @@ class AdminNotifications implements
$this->configWriter->save();
}
return true;
}
/**
* @param array<string,mixed> $requestData
* @return ?array<mixed,mixed>
*/
protected function getLatestRelease(
?string $url = null,
array $requestData = [],
+19 -12
View File
@@ -110,6 +110,9 @@ class App
$this->log = $log;
}
/**
* @return array<string,mixed>
*/
public function getUserData(): array
{
$preferencesData = $this->preferences->getValueMap();
@@ -161,6 +164,7 @@ class App
];
foreach (($this->metadata->get(['app', 'appParams']) ?? []) as $paramKey => $item) {
/** @var ?class-string */
$className = $item['className'] ?? null;
if (!$className) {
@@ -190,7 +194,7 @@ class App
];
}
private function getUserDataForFrontend()
private function getUserDataForFrontend(): stdClass
{
$user = $this->user;
@@ -230,7 +234,7 @@ class App
return $data;
}
private function getAclDataForFrontend()
private function getAclDataForFrontend(): stdClass
{
$data = $this->acl->getMapData();
@@ -251,7 +255,7 @@ class App
return $data;
}
private function getEmailAddressData()
private function getEmailAddressData(): stdClass
{
$user = $this->user;
@@ -337,6 +341,9 @@ class App
];
}
/**
* @return int
*/
private function getMaxUploadSize()
{
$maxSize = 0;
@@ -391,20 +398,20 @@ class App
return $value;
}
public function jobClearCache()
public function jobClearCache(): void
{
$this->dataManager->clearCache();
}
public function jobRebuild()
public function jobRebuild(): void
{
$this->dataManager->rebuild();
}
/**
* @todo Remove in 6.0.
* @todo Remove in 7.2.
*/
public function jobPopulatePhoneNumberNumeric()
public function jobPopulatePhoneNumberNumeric(): void
{
$numberList = $this->entityManager
->getRDBRepository('PhoneNumber')
@@ -416,9 +423,9 @@ class App
}
/**
* @todo Remove in 6.0. Move to another place. CLI command.
* @todo Remove in 7.2. Move to another place. CLI command.
*/
public function jobPopulateArrayValues()
public function jobPopulateArrayValues(): void
{
$scopeList = array_keys($this->metadata->get(['scopes']));
@@ -517,9 +524,9 @@ class App
}
/**
* @todo Remove in 6.0. Move to another place. CLI command.
* @todo Remove in 7.2. Move to another place. CLI command.
*/
public function jobPopulateOptedOutPhoneNumbers()
public function jobPopulateOptedOutPhoneNumbers(): void
{
$entityTypeList = ['Contact', 'Lead'];
@@ -553,7 +560,7 @@ class App
}
}
private function filterPreferencesData(stdClass $data)
private function filterPreferencesData(stdClass $data): void
{
$passwordFieldList = $this->fieldUtil->getFieldByTypeList('Preferences', 'password');
+22 -5
View File
@@ -43,16 +43,31 @@ use stdClass;
class Attachment extends Record
{
/**
* @var string[]
*/
protected $notFilteringAttributeList = ['contents'];
/**
* @var string[]
*/
protected $attachmentFieldTypeList = ['file', 'image', 'attachmentMultiple'];
/**
* @var string[]
*/
protected $inlineAttachmentFieldTypeList = ['wysiwyg'];
/**
* @var string[]
*/
protected $adminOnlyHavingInlineAttachmentsEntityTypeList = [
'TemplateManager',
];
/**
* @var string[]
*/
protected $imageTypeList = [
'image/png',
'image/jpeg',
@@ -60,6 +75,10 @@ class Attachment extends Record
'image/webp',
];
/**
* @param string $fileData
* @throws Forbidden
*/
public function upload($fileData): Entity
{
if (!$this->getAcl()->checkScope('Attachment', 'create')) {
@@ -213,13 +232,11 @@ class Attachment extends Record
}
}
protected function checkAttachmentField($relatedEntityType, $field, $role = 'Attachment')
protected function checkAttachmentField(string $relatedEntityType, string $field, string $role = 'Attachment'): void
{
if (
$this->getUser()->isAdmin()
&&
$role === 'Inline Attachment'
&&
$this->getUser()->isAdmin() &&
$role === 'Inline Attachment' &&
in_array($relatedEntityType, $this->adminOnlyHavingInlineAttachmentsEntityTypeList)
) {
return;
+7 -7
View File
@@ -41,17 +41,17 @@ use Espo\Core\{
Acl,
};
use StdClass;
use stdClass;
class CurrencyRate
{
protected $config;
private $config;
protected $configWriter;
private $configWriter;
protected $dataManager;
private $dataManager;
protected $acl;
private $acl;
public function __construct(Config $config, ConfigWriter $configWriter, DataManager $dataManager, Acl $acl)
{
@@ -61,7 +61,7 @@ class CurrencyRate
$this->acl = $acl;
}
public function get(): StdClass
public function get(): stdClass
{
if (!$this->acl->check('Currency')) {
throw new Forbidden();
@@ -76,7 +76,7 @@ class CurrencyRate
);
}
public function set(StdClass $rates): StdClass
public function set(stdClass $rates): stdClass
{
if (!$this->acl->check('Currency')) {
throw new Forbidden();
@@ -38,7 +38,7 @@ use Espo\Entities\User;
class DashboardTemplate extends Record
{
protected function applyLayout(Entity $preferences, Entity $template, bool $append)
protected function applyLayout(Entity $preferences, Entity $template, bool $append): void
{
if (!$append) {
$preferences->set([
@@ -87,6 +87,11 @@ class DashboardTemplate extends Record
}
}
/**
* @param string[] $userIdList
* @throws NotFound
* @throws Forbidden
*/
public function deployToUsers(string $id, array $userIdList, bool $append = false): void
{
$template = $this->getEntityManager()->getEntity('DashboardTemplate', $id);
+49 -18
View File
@@ -73,6 +73,9 @@ class Email extends Record implements
protected $getEntityBeforeUpdate = true;
/**
* @var string[]
*/
protected $allowedForUpdateAttributeList = [
'parentType',
'parentId',
@@ -371,7 +374,10 @@ class Email extends Record implements
}
}
protected function applySmtpHandler(string $userId, string $emailAddress, array &$params)
/**
* @param array<string,mixed> $params
*/
protected function applySmtpHandler(string $userId, string $emailAddress, array &$params): void
{
$userData = $this->getUserDataRepository()->getByUserId($userId);
@@ -488,7 +494,10 @@ class Email extends Record implements
return $entity;
}
public function markAsReadByIdList(array $idList, $userId = null)
/**
* @param string[] $idList
*/
public function markAsReadByIdList(array $idList, ?string $userId = null): bool
{
foreach ($idList as $id) {
$this->markAsRead($id, $userId);
@@ -497,7 +506,10 @@ class Email extends Record implements
return true;
}
public function markAsNotReadByIdList(array $idList, $userId = null)
/**
* @param string[] $idList
*/
public function markAsNotReadByIdList(array $idList, ?string $userId = null): bool
{
foreach ($idList as $id) {
$this->markAsNotRead($id, $userId);
@@ -506,7 +518,10 @@ class Email extends Record implements
return true;
}
public function markAsImportantByIdList(array $idList, $userId = null)
/**
* @param string[] $idList
*/
public function markAsImportantByIdList(array $idList, ?string $userId = null): bool
{
foreach ($idList as $id) {
$this->markAsImportant($id, $userId);
@@ -515,7 +530,10 @@ class Email extends Record implements
return true;
}
public function markAsNotImportantByIdList(array $idList, $userId = null)
/**
* @param string[] $idList
*/
public function markAsNotImportantByIdList(array $idList, ?string $userId = null): bool
{
foreach ($idList as $id) {
$this->markAsNotImportant($id, $userId);
@@ -524,7 +542,10 @@ class Email extends Record implements
return true;
}
public function moveToTrashByIdList(array $idList, $userId = null)
/**
* @param string[] $idList
*/
public function moveToTrashByIdList(array $idList, ?string $userId = null): bool
{
foreach ($idList as $id) {
$this->moveToTrash($id, $userId);
@@ -533,7 +554,10 @@ class Email extends Record implements
return true;
}
public function moveToFolderByIdList(array $idList, $folderId, $userId = null)
/**
* @param string[] $idList
*/
public function moveToFolderByIdList(array $idList, ?string $folderId, ?string $userId = null): bool
{
foreach ($idList as $id) {
$this->moveToFolder($id, $folderId, $userId);
@@ -542,7 +566,10 @@ class Email extends Record implements
return true;
}
public function retrieveFromTrashByIdList(array $idList, $userId = null)
/**
* @param string[] $idList
*/
public function retrieveFromTrashByIdList(array $idList, ?string $userId = null): bool
{
foreach ($idList as $id) {
$this->retrieveFromTrash($id, $userId);
@@ -551,7 +578,7 @@ class Email extends Record implements
return true;
}
public function markAllAsRead(?string $userId = null)
public function markAllAsRead(?string $userId = null): bool
{
$userId = $userId ?? $this->getUser()->getId();
@@ -584,7 +611,7 @@ class Email extends Record implements
return true;
}
public function markAsRead(string $id, ?string $userId = null)
public function markAsRead(string $id, ?string $userId = null): bool
{
$userId = $userId ?? $this->getUser()->getId();
@@ -605,7 +632,7 @@ class Email extends Record implements
return true;
}
public function markAsNotRead(string $id, ?string $userId = null)
public function markAsNotRead(string $id, ?string $userId = null): bool
{
$userId = $userId ?? $this->getUser()->getId();
@@ -624,7 +651,7 @@ class Email extends Record implements
return true;
}
public function markAsImportant(string $id, ?string $userId = null)
public function markAsImportant(string $id, ?string $userId = null): bool
{
$userId = $userId ?? $this->getUser()->getId();
@@ -643,7 +670,7 @@ class Email extends Record implements
return true;
}
public function markAsNotImportant(string $id, ?string $userId = null)
public function markAsNotImportant(string $id, ?string $userId = null): bool
{
$userId = $userId ?? $this->getUser()->getId();
@@ -662,7 +689,7 @@ class Email extends Record implements
return true;
}
public function moveToTrash(string $id, ?string $userId = null)
public function moveToTrash(string $id, ?string $userId = null): bool
{
$userId = $userId ?? $this->getUser()->getId();
@@ -683,7 +710,7 @@ class Email extends Record implements
return true;
}
public function retrieveFromTrash(string $id, ?string $userId = null)
public function retrieveFromTrash(string $id, ?string $userId = null): bool
{
$userId = $userId ?? $this->getUser()->getId();
@@ -702,7 +729,7 @@ class Email extends Record implements
return true;
}
public function markNotificationAsRead(string $id, string $userId)
public function markNotificationAsRead(string $id, string $userId): void
{
$update = $this->entityManager->getQueryBuilder()->update()
->in('Notification')
@@ -720,7 +747,7 @@ class Email extends Record implements
$this->entityManager->getQueryExecutor()->execute($update);
}
public function moveToFolder(string $id, ?string $folderId, ?string $userId = null)
public function moveToFolder(string $id, ?string $folderId, ?string $userId = null): bool
{
$userId = $userId ?? $this->getUser()->getId();
@@ -852,7 +879,11 @@ class Email extends Record implements
];
}
public function sendTestEmail(array $data)
/**
* @param array<string,mixed> $data
* @throws Forbidden
*/
public function sendTestEmail(array $data): bool
{
$smtpParams = $data;
+8 -1
View File
@@ -127,6 +127,9 @@ class EmailAccount extends Record implements
return $emailAccount;
}
/**
* @return ?array<string,mixed>
*/
public function getSmtpParamsFromAccount(EmailAccountEntity $emailAccount): ?array
{
$smtpParams = [];
@@ -156,8 +159,12 @@ class EmailAccount extends Record implements
return null;
}
public function applySmtpHandler(EmailAccountEntity $emailAccount, array &$params)
/**
* @param array<string,mixed> $params
*/
public function applySmtpHandler(EmailAccountEntity $emailAccount, array &$params): void
{
/** @var ?class-string */
$handlerClassName = $emailAccount->get('smtpHandler');
if (!$handlerClassName) {