. * * 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\Classes\FieldProcessing\Email; use Espo\Core\FieldProcessing\Loader; use Espo\Core\FieldProcessing\Loader\Params; use Espo\Entities\Email; use Espo\Entities\EmailFolder; use Espo\ORM\Entity; use Espo\ORM\EntityManager; use Espo\ORM\Name\Attribute; /** * @implements Loader */ class FolderDataLoader implements Loader { public function __construct(private EntityManager $entityManager) {} public function process(Entity $entity, Params $params): void { $folderId = $entity->get(Email::USERS_COLUMN_FOLDER_ID); if (!$folderId) { return; } $folder = $this->entityManager ->getRDBRepositoryByClass(EmailFolder::class) ->select([Attribute::ID, 'name']) ->where([Attribute::ID => $folderId]) ->findOne(); if (!$folder) { return; } $entity->set('folderName', $folder->getName()); } }