diff --git a/application/Espo/Classes/DuplicateWhereBuilders/General.php b/application/Espo/Classes/DuplicateWhereBuilders/General.php index 67538e9bfe..e9b258109c 100644 --- a/application/Espo/Classes/DuplicateWhereBuilders/General.php +++ b/application/Espo/Classes/DuplicateWhereBuilders/General.php @@ -33,6 +33,7 @@ use Espo\Core\Duplicate\WhereBuilder; use Espo\Core\Field\EmailAddressGroup; use Espo\Core\Field\PhoneNumberGroup; use Espo\Core\ORM\Entity as CoreEntity; +use Espo\Core\ORM\Type\FieldType; use Espo\Core\Utils\Config; use Espo\Core\Utils\Metadata; use Espo\ORM\Defs; @@ -92,15 +93,15 @@ class General implements WhereBuilder ->tryGetField($field) ?->getType(); - if ($type === 'personName') { + if ($type === FieldType::PERSON_NAME) { return $this->applyFieldPersonName($field, $entity, $orBuilder); } - if ($type === 'email') { + if ($type === FieldType::EMAIL) { return $this->applyFieldEmail($field, $entity, $orBuilder); } - if ($type === 'phone') { + if ($type === FieldType::PHONE) { return $this->applyFieldPhone($field, $entity, $orBuilder); } diff --git a/application/Espo/Core/Action/Actions/Merge/Merger.php b/application/Espo/Core/Action/Actions/Merge/Merger.php index dc637b37d3..6d93e9ca50 100644 --- a/application/Espo/Core/Action/Actions/Merge/Merger.php +++ b/application/Espo/Core/Action/Actions/Merge/Merger.php @@ -95,11 +95,11 @@ class Merger $hasPhoneNumber = $entityDefs->hasField('phoneNumber') && - $entityDefs->getField('phoneNumber')->getType() === 'phone'; + $entityDefs->getField('phoneNumber')->getType() === FieldType::PHONE; $hasEmailAddress = $entityDefs->hasField('emailAddress') && - $entityDefs->getField('emailAddress')->getType() === 'email'; + $entityDefs->getField('emailAddress')->getType() === FieldType::EMAIL; if ($hasPhoneNumber) { $phoneNumberToRelateList = $this->fetchEntityPhoneNumberList($entity); diff --git a/application/Espo/Core/Field/EmailAddress/EmailAddressGroupFactory.php b/application/Espo/Core/Field/EmailAddress/EmailAddressGroupFactory.php index 1a602f5d0c..f821831048 100644 --- a/application/Espo/Core/Field/EmailAddress/EmailAddressGroupFactory.php +++ b/application/Espo/Core/Field/EmailAddress/EmailAddressGroupFactory.php @@ -29,6 +29,7 @@ namespace Espo\Core\Field\EmailAddress; +use Espo\Core\ORM\Type\FieldType; use Espo\Entities\EmailAddress as EmailAddressEntity; use Espo\Repositories\EmailAddress as Repository; @@ -64,7 +65,7 @@ class EmailAddressGroupFactory implements ValueFactory { $type = $this->metadata->get(['entityDefs', $entity->getEntityType(), 'fields', $field, 'type']); - if ($type !== 'email') { + if ($type !== FieldType::EMAIL) { return false; } diff --git a/application/Espo/Core/Field/PhoneNumber/PhoneNumberGroupFactory.php b/application/Espo/Core/Field/PhoneNumber/PhoneNumberGroupFactory.php index c30ea48c79..4e01db015e 100644 --- a/application/Espo/Core/Field/PhoneNumber/PhoneNumberGroupFactory.php +++ b/application/Espo/Core/Field/PhoneNumber/PhoneNumberGroupFactory.php @@ -29,6 +29,7 @@ namespace Espo\Core\Field\PhoneNumber; +use Espo\Core\ORM\Type\FieldType; use Espo\Entities\PhoneNumber as PhoneNumberEntity; use Espo\Repositories\PhoneNumber as Repository; @@ -64,7 +65,7 @@ class PhoneNumberGroupFactory implements ValueFactory { $type = $this->metadata->get(['entityDefs', $entity->getEntityType(), 'fields', $field, 'type']); - if ($type !== 'phone') { + if ($type !== FieldType::PHONE) { return false; } diff --git a/application/Espo/Core/FieldProcessing/PhoneNumber/Loader.php b/application/Espo/Core/FieldProcessing/PhoneNumber/Loader.php index cdb23785d0..d93b67b4e9 100644 --- a/application/Espo/Core/FieldProcessing/PhoneNumber/Loader.php +++ b/application/Espo/Core/FieldProcessing/PhoneNumber/Loader.php @@ -29,6 +29,8 @@ namespace Espo\Core\FieldProcessing\PhoneNumber; +use Espo\Core\ORM\Type\FieldType; +use Espo\Entities\PhoneNumber; use Espo\ORM\Entity; use Espo\Repositories\PhoneNumber as Repository; use Espo\Core\FieldProcessing\Loader as LoaderInterface; @@ -53,12 +55,12 @@ class Loader implements LoaderInterface return; } - if ($entityDefs->getField('phoneNumber')->getType() !== 'phone') { + if ($entityDefs->getField('phoneNumber')->getType() !== FieldType::PHONE) { return; } /** @var Repository $repository */ - $repository = $this->entityManager->getRepository('PhoneNumber'); + $repository = $this->entityManager->getRepository(PhoneNumber::ENTITY_TYPE); $phoneNumberData = $repository->getPhoneNumberData($entity); diff --git a/application/Espo/Core/Select/SelectManager.php b/application/Espo/Core/Select/SelectManager.php index 79a9f470bb..852e6caa25 100644 --- a/application/Espo/Core/Select/SelectManager.php +++ b/application/Espo/Core/Select/SelectManager.php @@ -2618,11 +2618,11 @@ class SelectManager mb_strlen($textFilter) >= $textFilterContainsMinLength && ( - $attributeType == 'text' + $attributeType == AttributeType::TEXT || in_array($field, $this->textFilterUseContainsAttributeList) || - $attributeType == 'varchar' && $this->getConfig()->get('textFilterUseContainsForVarchar') + $attributeType == AttributeType::VARCHAR && $this->getConfig()->get('textFilterUseContainsForVarchar') ) ) { $expression = '%' . $textFilter . '%'; diff --git a/application/Espo/Core/Utils/Database/Orm/Converter.php b/application/Espo/Core/Utils/Database/Orm/Converter.php index 9d24cc79d1..126cfb78a3 100644 --- a/application/Espo/Core/Utils/Database/Orm/Converter.php +++ b/application/Espo/Core/Utils/Database/Orm/Converter.php @@ -32,6 +32,7 @@ namespace Espo\Core\Utils\Database\Orm; use Doctrine\DBAL\Types\Types; use Espo\Core\InjectableFactory; use Espo\Core\ORM\Defs\AttributeParam; +use Espo\Core\ORM\Type\FieldType; use Espo\Core\Utils\Database\ConfigDataProvider; use Espo\Core\Utils\Database\MetadataProvider; use Espo\Core\Utils\Util; @@ -603,7 +604,7 @@ class Converter { $type = $fieldParams['type'] ?? null; - if ($type === 'enum') { + if ($type === FieldType::ENUM) { if (($fieldParams['default'] ?? null) === '') { $fieldParams['default'] = null; } diff --git a/application/Espo/Core/Utils/Database/Orm/FieldConverters/Email.php b/application/Espo/Core/Utils/Database/Orm/FieldConverters/Email.php index 4d44861afc..a4c0d9fad4 100644 --- a/application/Espo/Core/Utils/Database/Orm/FieldConverters/Email.php +++ b/application/Espo/Core/Utils/Database/Orm/FieldConverters/Email.php @@ -30,6 +30,7 @@ namespace Espo\Core\Utils\Database\Orm\FieldConverters; use Espo\Core\ORM\Defs\AttributeParam; +use Espo\Core\ORM\Type\FieldType; use Espo\Core\Utils\Database\Orm\Defs\AttributeDefs; use Espo\Core\Utils\Database\Orm\Defs\EntityDefs; use Espo\Core\Utils\Database\Orm\Defs\RelationDefs; @@ -147,7 +148,7 @@ class Email implements FieldConverter ] ], ], - 'fieldType' => 'email', + 'fieldType' => FieldType::EMAIL, 'where' => [ 'LIKE' => [ 'whereClause' => [ diff --git a/application/Espo/Core/Utils/Database/Orm/FieldConverters/Phone.php b/application/Espo/Core/Utils/Database/Orm/FieldConverters/Phone.php index 932f2d93f6..d0505d049c 100644 --- a/application/Espo/Core/Utils/Database/Orm/FieldConverters/Phone.php +++ b/application/Espo/Core/Utils/Database/Orm/FieldConverters/Phone.php @@ -30,6 +30,7 @@ namespace Espo\Core\Utils\Database\Orm\FieldConverters; use Espo\Core\ORM\Defs\AttributeParam; +use Espo\Core\ORM\Type\FieldType; use Espo\Core\Utils\Database\Orm\Defs\AttributeDefs; use Espo\Core\Utils\Database\Orm\Defs\EntityDefs; use Espo\Core\Utils\Database\Orm\Defs\RelationDefs; @@ -159,7 +160,7 @@ class Phone implements FieldConverter ] ], ], - 'fieldType' => 'phone', + 'fieldType' => FieldType::PHONE, 'where' => [ 'LIKE' => [ 'whereClause' => [ diff --git a/application/Espo/Tools/App/Language/AclDependencyProvider.php b/application/Espo/Tools/App/Language/AclDependencyProvider.php index 268616b46e..d3a02ed88e 100644 --- a/application/Espo/Tools/App/Language/AclDependencyProvider.php +++ b/application/Espo/Tools/App/Language/AclDependencyProvider.php @@ -41,10 +41,10 @@ class AclDependencyProvider /** @var string[] */ private array $enumFieldTypeList = [ - 'enum', - 'multiEnum', - 'array', - 'checklist', + FieldType::ENUM, + FieldType::MULTI_ENUM, + FieldType::ARRAY, + FieldType::CHECKLIST, ]; /** @var ?AclDependencyItem[] */ diff --git a/application/Espo/Tools/App/Metadata/AclDependencyProvider.php b/application/Espo/Tools/App/Metadata/AclDependencyProvider.php index fb0a317f69..8ffd12a783 100644 --- a/application/Espo/Tools/App/Metadata/AclDependencyProvider.php +++ b/application/Espo/Tools/App/Metadata/AclDependencyProvider.php @@ -41,10 +41,10 @@ class AclDependencyProvider /** @var string[] */ private array $enumFieldTypeList = [ - 'enum', - 'multiEnum', - 'array', - 'checklist', + FieldType::ENUM, + FieldType::MULTI_ENUM, + FieldType::ARRAY, + FieldType::CHECKLIST, ]; /** @var ?AclDependencyItem[] */ diff --git a/application/Espo/Tools/DataPrivacy/Erasor.php b/application/Espo/Tools/DataPrivacy/Erasor.php index dd16182fb2..5bdf33824d 100644 --- a/application/Espo/Tools/DataPrivacy/Erasor.php +++ b/application/Espo/Tools/DataPrivacy/Erasor.php @@ -105,7 +105,7 @@ class Erasor implements $attributeList = $fieldUtil->getActualAttributeList($entityType, $field); - if ($type === 'email') { + if ($type === FieldType::EMAIL) { $emailAddressList = $entity->get('emailAddresses'); foreach ($emailAddressList as $emailAddress) { @@ -123,7 +123,7 @@ class Erasor implements $entity->clear($field . 'Data'); continue; - } else if ($type === 'phone') { + } else if ($type === FieldType::PHONE) { $phoneNumberList = $entity->get('phoneNumbers'); foreach ($phoneNumberList as $phoneNumber) { diff --git a/application/Espo/Tools/EmailTemplate/Formatter.php b/application/Espo/Tools/EmailTemplate/Formatter.php index 5fdb8cbc6e..cbffe9cf4e 100644 --- a/application/Espo/Tools/EmailTemplate/Formatter.php +++ b/application/Espo/Tools/EmailTemplate/Formatter.php @@ -59,7 +59,7 @@ class Formatter $attributeType = $entity->getAttributeType($attribute); - if ($fieldType === 'enum') { + if ($fieldType === FieldType::ENUM) { if ($value === null) { return ''; } diff --git a/application/Espo/Tools/FieldManager/FieldManager.php b/application/Espo/Tools/FieldManager/FieldManager.php index b744dad32d..b2b31db5e1 100644 --- a/application/Espo/Tools/FieldManager/FieldManager.php +++ b/application/Espo/Tools/FieldManager/FieldManager.php @@ -40,6 +40,7 @@ use Espo\Core\Exceptions\Error; use Espo\Core\Utils\Metadata\Helper as MetadataHelper; use Espo\Core\Utils\Util; +use Espo\ORM\Type\AttributeType; use Espo\Tools\EntityManager\NameUtil; use RuntimeException; use stdClass; @@ -695,26 +696,26 @@ class FieldManager { $additionalParamList = [ 'type' => [ - 'type' => 'varchar', + 'type' => AttributeType::VARCHAR, ], 'isCustom' => [ - 'type' => 'bool', + 'type' => AttributeType::BOOL, 'default' => false, ], 'isPersonalData' => [ - 'type' => 'bool', + 'type' => AttributeType::BOOL, 'default' => false, ], 'tooltip' => [ - 'type' => 'bool', + 'type' => AttributeType::BOOL, 'default' => false, ], 'inlineEditDisabled' => [ - 'type' => 'bool', + 'type' => AttributeType::BOOL, 'default' => false, ], 'defaultAttributes' => [ - 'type' => 'jsonObject', + 'type' => AttributeType::JSON_OBJECT, ], ]; diff --git a/application/Espo/Tools/FieldManager/Hooks/AutoincrementType.php b/application/Espo/Tools/FieldManager/Hooks/AutoincrementType.php index 18e282306e..952e233eaf 100644 --- a/application/Espo/Tools/FieldManager/Hooks/AutoincrementType.php +++ b/application/Espo/Tools/FieldManager/Hooks/AutoincrementType.php @@ -31,6 +31,7 @@ namespace Espo\Tools\FieldManager\Hooks; use Espo\Core\Di; use Espo\Core\Exceptions\Error; +use Espo\Core\ORM\Type\FieldType; class AutoincrementType implements Di\MetadataAware { @@ -49,8 +50,8 @@ class AutoincrementType implements Di\MetadataAware $fields = $this->metadata->get(['entityDefs', $scope, 'fields']); - foreach ($fields as $fieldName => $fieldDefs) { - if ($fieldDefs['type'] == 'autoincrement') { + foreach ($fields as $fieldDefs) { + if ($fieldDefs['type'] == FieldType::AUTOINCREMENT) { throw new Error('The entity can have only one Auto-increment field.'); } } diff --git a/application/Espo/Tools/LinkManager/Hook/Hooks/TargetListCreate.php b/application/Espo/Tools/LinkManager/Hook/Hooks/TargetListCreate.php index 1d56cb90f2..cef0e69d51 100644 --- a/application/Espo/Tools/LinkManager/Hook/Hooks/TargetListCreate.php +++ b/application/Espo/Tools/LinkManager/Hook/Hooks/TargetListCreate.php @@ -29,8 +29,10 @@ namespace Espo\Tools\LinkManager\Hook\Hooks; +use Espo\Core\ORM\Type\FieldType; use Espo\Core\Templates\Entities\Company; use Espo\Core\Templates\Entities\Person; +use Espo\ORM\Type\AttributeType; use Espo\Tools\LinkManager\Hook\CreateHook; use Espo\Tools\LinkManager\Params; use Espo\Tools\LinkManager\Type; @@ -91,7 +93,7 @@ class TargetListCreate implements CreateHook $foreignLink => [ 'additionalColumns' => [ 'optedOut' => [ - 'type' => 'bool', + 'type' => AttributeType::BOOL, ] ], 'columnAttributeMap' => [ @@ -111,7 +113,7 @@ class TargetListCreate implements CreateHook ], 'fields' => [ 'targetListIsOptedOut' => [ - 'type' => 'bool', + 'type' => FieldType::BOOL, 'notStorable' => true, 'readOnly' => true, 'disabled' => true,