This commit is contained in:
Yuri Kuznetsov
2024-11-14 18:11:19 +02:00
parent 923b05b4aa
commit 513a139ef7
31 changed files with 79 additions and 57 deletions
@@ -32,6 +32,7 @@ namespace Espo\Classes\ConsoleCommands;
use Espo\Core\Console\Command;
use Espo\Core\Console\Command\Params;
use Espo\Core\Console\IO;
use Espo\Core\Name\Field;
use Espo\Core\Utils\Config;
use Espo\Entities\User;
use Espo\ORM\EntityManager;
@@ -90,7 +91,7 @@ class CreateAdminUser implements Command
$user->set('userName', $userName);
$user->set('type', User::TYPE_ADMIN);
$user->set('name', $userName);
$user->set(Field::NAME, $userName);
$repository->save($user);
@@ -29,6 +29,7 @@
namespace Espo\Classes\FieldValidators;
use Espo\Core\Name\Field;
use Espo\Core\Utils\Metadata;
use Espo\ORM\Entity;
@@ -106,7 +107,7 @@ class EmailType
$value = $entity->get($field);
/** @var int $maxLength */
$maxLength = $this->metadata->get(['entityDefs', 'EmailAddress', 'fields', 'name', 'maxLength']) ??
$maxLength = $this->metadata->get(['entityDefs', 'EmailAddress', 'fields', Field::NAME, 'maxLength']) ??
self::DEFAULT_MAX_LENGTH;
if ($value && mb_strlen($value) > $maxLength) {
@@ -29,6 +29,7 @@
namespace Espo\Classes\Select\AddressCountry;
use Espo\Core\Name\Field;
use Espo\Core\Select\Order\Item;
use Espo\Core\Select\Order\Orderer;
use Espo\ORM\Query\Part\Order;
@@ -40,6 +41,6 @@ class PreferredNameOrderer implements Orderer
{
$queryBuilder
->order('isPreferred', $item->getOrder() === Order::ASC ? Order::DESC : Order::ASC)
->order('name', $item->getOrder());
->order(Field::NAME, $item->getOrder());
}
}
+5 -4
View File
@@ -32,6 +32,7 @@ namespace Espo\Core\Entities;
use Espo\Core\Field\Address;
use Espo\Core\Field\EmailAddressGroup;
use Espo\Core\Field\PhoneNumberGroup;
use Espo\Core\Name\Field;
use Espo\Core\ORM\Entity;
use Espo\Core\ORM\Helper;
@@ -72,7 +73,7 @@ class Person extends Entity
$name = $this->helper->formatPersonName($this, 'name');
$this->setInContainer('name', $name);
$this->setInContainer(Field::NAME, $name);
}
/**
@@ -85,7 +86,7 @@ class Person extends Entity
$name = $this->helper->formatPersonName($this, 'name');
$this->setInContainer('name', $name);
$this->setInContainer(Field::NAME, $name);
}
/**
@@ -98,7 +99,7 @@ class Person extends Entity
$name = $this->helper->formatPersonName($this, 'name');
$this->setInContainer('name', $name);
$this->setInContainer(Field::NAME, $name);
}
/**
@@ -131,7 +132,7 @@ class Person extends Entity
public function getName(): ?string
{
return $this->get('name');
return $this->get(Field::NAME);
}
public function getFirstName(): ?string
@@ -37,6 +37,7 @@ use Espo\Core\Exceptions\Conflict;
use Espo\Core\Exceptions\ConflictSilent;
use Espo\Core\Formula\ArgumentList;
use Espo\Core\Formula\Functions\BaseFunction;
use Espo\Core\Name\Field;
use Espo\Core\Utils\Json;
class ThrowDuplicateConflictType extends BaseFunction implements
@@ -83,7 +84,7 @@ class ThrowDuplicateConflictType extends BaseFunction implements
if (!$entity) {
$entity = $this->entityManager->getNewEntity($entityType);
$entity->set('name', $id);
$entity->set(Field::NAME, $id);
}
$list[] = $entity->getValueMap();
@@ -221,7 +221,7 @@ class AfterFetch implements AfterFetchInterface
$fromName = Util::parseFromName($email->getFromString() ?? '');
if (!empty($fromName)) {
$contact->set('name', $fromName);
$contact->set(Field::NAME, $fromName);
}
}
@@ -431,7 +431,7 @@ class AfterFetch implements AfterFetchInterface
$case->populateDefaults();
$case->set('name', $email->get('name'));
$case->set(Field::NAME, $email->get(Field::NAME));
$bodyPlain = $email->getBodyPlain() ?? '';
+1
View File
@@ -32,6 +32,7 @@ namespace Espo\Core\Name;
class Field
{
public const ID = 'id';
public const NAME = 'name';
public const CREATED_BY = 'createdBy';
public const CREATED_AT = 'createdAt';
public const MODIFIED_BY = 'modifiedBy';
@@ -30,6 +30,7 @@
namespace Espo\Core\Upgrades\Migrations\V8_0;
use Espo\Core\Container;
use Espo\Core\Name\Field;
use Espo\Core\Upgrades\Migration\Script;
use Espo\Core\Utils\Metadata;
use Espo\Entities\Role;
@@ -109,7 +110,7 @@ class AfterUpgrade implements Script
$scopes->duplicateCheckFieldList = [];
if ($type === 'Company' || $type === 'Person') {
$scopes->duplicateCheckFieldList = ['name', 'emailAddress'];
$scopes->duplicateCheckFieldList = [Field::NAME, 'emailAddress'];
}
$metadata->saveCustom('recordDefs', $entityType, $recordDefs);
@@ -29,6 +29,7 @@
namespace Espo\Core\Utils\Address;
use Espo\Core\Name\Field;
use Espo\Core\Utils\Config;
use Espo\Core\Utils\DataCache;
use Espo\Entities\AddressCountry;
@@ -89,8 +90,8 @@ class CountryDataProvider
$collection = $this->entityManager
->getRDBRepositoryByClass(AddressCountry::class)
->sth()
->select(['name', 'isPreferred'])
->order('name', Order::ASC)
->select([Field::NAME, 'isPreferred'])
->order(Field::NAME, Order::ASC)
->limit(0, self::LIMIT)
->find();
@@ -52,7 +52,7 @@ class AttachmentMultiple implements FieldConverter
->withParamsMerged([
'orderBy' => [
[Field::CREATED_AT, Order::ASC],
['name', Order::ASC],
[Field::NAME, Order::ASC],
],
AttributeParam::IS_LINK_MULTIPLE_ID_LIST => true,
'relation' => $name,
+3 -2
View File
@@ -29,6 +29,7 @@
namespace Espo\Entities;
use Espo\Core\Name\Field;
use Espo\Core\ORM\Entity;
class AppSecret extends Entity
@@ -37,7 +38,7 @@ class AppSecret extends Entity
public function getName(): string
{
return $this->get('name');
return $this->get(Field::NAME);
}
public function getValue(): string
@@ -47,7 +48,7 @@ class AppSecret extends Entity
public function setName(string $name): self
{
$this->set('name', $name);
$this->set(Field::NAME, $name);
return $this;
}
+1 -1
View File
@@ -150,7 +150,7 @@ class Attachment extends Entity
public function setName(?string $name): self
{
$this->set('name', $name);
$this->set(Field::NAME, $name);
return $this;
}
+1 -1
View File
@@ -79,7 +79,7 @@ class Email extends Entity
/** @noinspection PhpUnused */
protected function _setSubject(?string $value): void
{
$this->set('name', $value);
$this->set(Field::NAME, $value);
}
/**
+4 -3
View File
@@ -29,6 +29,7 @@
namespace Espo\Entities;
use Espo\Core\Name\Field;
use Espo\Core\ORM\Entity;
use InvalidArgumentException;
@@ -49,14 +50,14 @@ class EmailAddress extends Entity
throw new InvalidArgumentException("Not valid email address '{$value}'");
}
$this->setInContainer('name', $value);
$this->setInContainer(Field::NAME, $value);
$this->set('lower', strtolower($value));
}
public function getAddress(): string
{
return $this->get('name');
return $this->get(Field::NAME);
}
public function getLower(): string
@@ -90,7 +91,7 @@ class EmailAddress extends Entity
public function setAddress(string $address): self
{
$this->set('name', $address);
$this->set(Field::NAME, $address);
return $this;
}
+2 -2
View File
@@ -168,7 +168,7 @@ class Note extends Entity
$collection = $this->entityManager
->getRDBRepository(Attachment::ENTITY_TYPE)
->select([Attribute::ID, 'name', 'type'])
->select([Attribute::ID, Field::NAME, 'type'])
->order(Field::CREATED_AT)
->where([
Attribute::ID => $attachmentsIds
@@ -185,7 +185,7 @@ class Note extends Entity
$ids[] = $id;
$names->$id = $e->get('name');
$names->$id = $e->get(Field::NAME);
$types->$id = $e->get('type');
}
+4 -3
View File
@@ -29,6 +29,7 @@
namespace Espo\Entities;
use Espo\Core\Name\Field;
use InvalidArgumentException;
use Espo\Core\ORM\Entity;
@@ -49,12 +50,12 @@ class PhoneNumber extends Entity
throw new InvalidArgumentException("Phone number can't be empty");
}
$this->setInContainer('name', $value);
$this->setInContainer(Field::NAME, $value);
}
public function getNumber(): string
{
return $this->get('name');
return $this->get(Field::NAME);
}
public function isOptedOut(): bool
@@ -81,7 +82,7 @@ class PhoneNumber extends Entity
public function setNumber(string $number): self
{
$this->set('name', $number);
$this->set(Field::NAME, $number);
return $this;
}
@@ -53,7 +53,7 @@ class Account extends Entity
public function setName(?string $name): self
{
$this->set('name', $name);
$this->set(Field::NAME, $name);
return $this;
}
@@ -46,12 +46,12 @@ class Opportunity extends Entity
public function getName(): ?string
{
return $this->get('name');
return $this->get(Field::NAME);
}
public function setName(?string $name): self
{
$this->set('name', $name);
$this->set(Field::NAME, $name);
return $this;
}
@@ -34,6 +34,7 @@ use Espo\Core\Exceptions\BadRequest;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\NotFound;
use Espo\Core\HookManager;
use Espo\Core\Name\Field;
use Espo\Core\ORM\Entity as CoreEntity;
use Espo\Core\Record\Collection as RecordCollection;
use Espo\Core\Utils\Metadata;
@@ -228,7 +229,7 @@ class Service
$itemCollection = $this->entityManager
->getRDBRepository($entityType)
->getRelation($entity, $link)
->select([Attribute::ID, 'name', 'acceptanceStatus', 'emailAddress'])
->select([Attribute::ID, Field::NAME, 'acceptanceStatus', 'emailAddress'])
->order('name')
->find();
@@ -29,6 +29,7 @@
namespace Espo\Repositories;
use Espo\Core\Name\Field;
use Espo\Core\Repositories\Database;
use Espo\Entities\User as UserEntity;
use Espo\ORM\Entity;
@@ -104,7 +105,7 @@ class EmailAddress extends Database implements
if (!in_array(strtolower($address), $exist)) {
$ea = $this->getNew();
$ea->set('name', $address);
$ea->set(Field::NAME, $address);
$this->save($ea);
@@ -127,7 +128,7 @@ class EmailAddress extends Database implements
$dataList = [];
$emailAddressList = $this
->select(['name', 'lower', 'invalid', 'optOut', ['ee.primary', 'primary']])
->select([Field::NAME, 'lower', 'invalid', 'optOut', ['ee.primary', 'primary']])
->join(
EmailAddressEntity::RELATION_ENTITY_EMAIL_ADDRESS,
'ee',
@@ -29,6 +29,7 @@
namespace Espo\Repositories;
use Espo\Core\Name\Field;
use Espo\Entities\User as UserEntity;
use Espo\ORM\Entity;
use Espo\Entities\PhoneNumber as PhoneNumberEntity;
@@ -92,7 +93,7 @@ class PhoneNumber extends Database implements
if (!in_array($number, $exist)) {
$phoneNumber = $this->getNew();
$phoneNumber->set('name', $number);
$phoneNumber->set(Field::NAME, $number);
$this->save($phoneNumber);
$ids[] = $phoneNumber->getId();
@@ -114,7 +115,7 @@ class PhoneNumber extends Database implements
$dataList = [];
$numberList = $this
->select(['name', 'type', 'invalid', 'optOut', ['en.primary', 'primary']])
->select([Field::NAME, 'type', 'invalid', 'optOut', ['en.primary', 'primary']])
->join(
PhoneNumberEntity::RELATION_ENTITY_PHONE_NUMBER,
'en',
+2 -1
View File
@@ -29,6 +29,7 @@
namespace Espo\Repositories;
use Espo\Core\Name\Field;
use Espo\ORM\Entity;
use Espo\Core\Utils\Util;
@@ -43,7 +44,7 @@ class UniqueId extends Database
{
$entity = parent::getNew();
$entity->set('name', Util::generateMoreEntropyId());
$entity->set(Field::NAME, Util::generateMoreEntropyId());
return $entity;
}
+2 -1
View File
@@ -31,6 +31,7 @@ namespace Espo\Services;
use Espo\Core\Acl\Table;
use Espo\Core\Exceptions\BadRequest;
use Espo\Core\Name\Field;
use Espo\ORM\Collection;
use Espo\ORM\Entity;
use Espo\ORM\Name\Attribute;
@@ -121,7 +122,7 @@ class RecordTree extends Record
$selectBuilder->order('order', Order::ASC);
}
$selectBuilder->order('name', Order::ASC);
$selectBuilder->order(Field::NAME, Order::ASC);
$filterItems = false;
@@ -63,7 +63,7 @@ class CheckNewExtensionVersion implements JobDataLess
->getQueryBuilder()
->select()
->from(Extension::ENTITY_TYPE)
->select([Attribute::ID, 'name', 'version', 'checkVersionUrl'])
->select([Attribute::ID, Field::NAME, 'version', 'checkVersionUrl'])
->where([
'deleted' => false,
'isInstalled' => true,
@@ -29,6 +29,7 @@
namespace Espo\Tools\App;
use Espo\Core\Name\Field;
use Espo\ORM\EntityManager;
use Espo\Repositories\Preferences as Repository;
@@ -96,7 +97,7 @@ class PreferencesService
throw new NotFound();
}
$entity->set('name', $user->getName());
$entity->set(Field::NAME, $user->getName());
$entity->set('isPortalUser', $user->isPortal());
// @todo Remove.
@@ -148,7 +149,7 @@ class PreferencesService
$this->entityManager->saveEntity($entity);
$entity->set('name', $user->getName());
$entity->set(Field::NAME, $user->getName());
// @todo Remove.
$entity->clear('smtpPassword');
@@ -35,6 +35,7 @@ use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\NotFound;
use Espo\Core\FieldProcessing\EmailAddress\AccessChecker as EmailAddressAccessChecker;
use Espo\Core\FieldProcessing\PhoneNumber\AccessChecker as PhoneNumberAccessChecker;
use Espo\Core\Name\Field;
use Espo\Core\ORM\Type\FieldType;
use Espo\Core\Record\ServiceContainer as RecordServiceContainer;
@@ -113,7 +114,7 @@ class Erasor implements
$this->emailAddressAccessChecker
->checkEdit($this->user, $emailAddress, $entity)
) {
$emailAddress->set('name', 'ERASED:' . $emailAddress->id);
$emailAddress->set(Field::NAME, 'ERASED:' . $emailAddress->id);
$emailAddress->set('optOut', true);
$this->entityManager->saveEntity($emailAddress);
}
@@ -131,7 +132,7 @@ class Erasor implements
$this->phoneNumberAccessChecker
->checkEdit($this->user, $phoneNumber, $entity)
) {
$phoneNumber->set('name', 'ERASED:' . $phoneNumber->id);
$phoneNumber->set(Field::NAME, 'ERASED:' . $phoneNumber->id);
$this->entityManager->saveEntity($phoneNumber);
}
@@ -33,6 +33,7 @@ use Espo\Core\Acl;
use Espo\Core\Exceptions\BadRequest;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\NotFound;
use Espo\Core\Name\Field;
use Espo\Core\ORM\Type\FieldType;
use Espo\Core\Select\SelectBuilderFactory;
use Espo\Core\Select\Text\MetadataProvider as TextMetadataProvider;
@@ -246,13 +247,13 @@ class AddressService
}
$select = [
'id',
Field::ID,
'emailAddress',
'name',
Field::NAME,
];
if (
$this->metadata->get(['entityDefs', $entityType, 'fields', 'name', 'type']) === FieldType::PERSON_NAME
$this->metadata->get(['entityDefs', $entityType, 'fields', Field::NAME, 'type']) === FieldType::PERSON_NAME
) {
$select[] = 'firstName';
$select[] = 'lastName';
@@ -124,8 +124,8 @@ class Service
foreach ($this->systemFolderList as $name) {
$folder = $this->entityManager->getNewEntity(EmailFolder::ENTITY_TYPE);
$folder->set('name', $this->language->translate($name, 'presetFilters', Email::ENTITY_TYPE));
$folder->set('id', $name);
$folder->set(Field::NAME, $this->language->translate($name, 'presetFilters', Email::ENTITY_TYPE));
$folder->set(Field::ID, $name);
$list[] = $folder;
}
@@ -141,8 +141,8 @@ class Service
foreach ($this->systemFolderEndList as $name) {
$folder = $this->entityManager->getNewEntity(EmailFolder::ENTITY_TYPE);
$folder->set('name', $this->language->translate($name, 'presetFilters', Email::ENTITY_TYPE));
$folder->set('id', $name);
$folder->set(Field::NAME, $this->language->translate($name, 'presetFilters', Email::ENTITY_TYPE));
$folder->set(Field::ID, $name);
$list[] = $folder;
}
@@ -30,6 +30,7 @@
namespace Espo\Tools\EmailNotification;
use Espo\Core\Field\LinkParent;
use Espo\Core\Name\Field;
use Espo\Core\Notification\EmailNotificationHandler;
use Espo\Core\Mail\SenderParams;
use Espo\Core\Utils\DateTime as DateTimeUtil;
@@ -311,7 +312,7 @@ class Processor
}
$data['url'] = "{$this->getSiteUrl($user)}/#$parentType/view/$parentId";
$data['parentName'] = $parent->get('name');
$data['parentName'] = $parent->get(Field::NAME);
$data['parentType'] = $parentType;
$data['parentId'] = $parentId;
} else {
@@ -30,6 +30,8 @@
namespace Espo\Tools\GlobalSearch;
use Espo\Core\Acl;
use Espo\Core\Name\Field;
use Espo\Core\ORM\Type\FieldType;
use Espo\Core\Record\Collection;
use Espo\Core\Utils\Config;
use Espo\Core\Utils\Metadata;
@@ -106,7 +108,7 @@ class Service
}
$builder->order('order', 'DESC');
$builder->order('name', 'ASC');
$builder->order(Field::NAME, 'ASC');
$unionQuery = $builder->build();
@@ -117,7 +119,7 @@ class Service
while ($row = $sth->fetch()) {
$entity = $this->entityManager
->getRDBRepository($row['entityType'])
->select([Attribute::ID, 'name'])
->select([Attribute::ID, Field::NAME])
->where([Attribute::ID => $row[Attribute::ID]])
->findOne();
@@ -174,7 +176,7 @@ class Service
);
$isPerson = $this->metadata
->get(['entityDefs', $entityType, 'fields', 'name', 'type']) === 'personName';
->get(['entityDefs', $entityType, 'fields', Field::NAME, 'type']) === FieldType::PERSON_NAME;
if ($isPerson) {
$selectList[] = 'firstName';
+5 -5
View File
@@ -337,12 +337,12 @@ class Service
throw new Forbidden("No access to Import scope.");
}
$attachment = $this->entityManager->getNewEntity(Attachment::ENTITY_TYPE);
$attachment = $this->entityManager->getRDBRepositoryByClass(Attachment::class)->getNew();
$attachment->set('type', 'text/csv');
$attachment->set('role', 'Import File');
$attachment->set('name', 'import-file.csv');
$attachment->set('contents', $contents);
$attachment->setType('text/csv');
$attachment->setRole('Import File');
$attachment->setName('import-file.csv');
$attachment->setContents($contents);
$this->entityManager->saveEntity($attachment);