. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ 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; use Espo\Core\FieldProcessing\Loader\Params; use Espo\Core\ORM\EntityManager; use Espo\ORM\Defs as OrmDefs; /** * @implements LoaderInterface */ class Loader implements LoaderInterface { public function __construct(private OrmDefs $ormDefs, private EntityManager $entityManager) {} public function process(Entity $entity, Params $params): void { $entityDefs = $this->ormDefs->getEntity($entity->getEntityType()); if (!$entityDefs->hasField('phoneNumber')) { return; } if ($entityDefs->getField('phoneNumber')->getType() !== FieldType::PHONE) { return; } /** @var Repository $repository */ $repository = $this->entityManager->getRepository(PhoneNumber::ENTITY_TYPE); $phoneNumberData = $repository->getPhoneNumberData($entity); $entity->set('phoneNumberData', $phoneNumberData); $entity->setFetched('phoneNumberData', $phoneNumberData); } }