. * * 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\Select\Email\Where\ItemConverters; use Espo\Core\Select\Where\Item; use Espo\Core\Select\Where\ItemConverter; use Espo\Classes\Select\Email\Helpers\EmailAddressHelper; use Espo\ORM\Query\Part\WhereClause; use Espo\ORM\Query\Part\WhereItem as WhereClauseItem; use Espo\ORM\Query\SelectBuilder as QueryBuilder; class FromEquals implements ItemConverter { public function __construct( private EmailAddressHelper $emailAddressHelper ) {} public function convert(QueryBuilder $queryBuilder, Item $item): WhereClauseItem { $value = $item->getValue(); if (!$value) { return WhereClause::fromRaw([ 'id' => null, ]); } $emailAddressId = $this->emailAddressHelper->getEmailAddressIdByValue($value); if (!$emailAddressId) { return WhereClause::fromRaw([ 'id' => null, ]); } return WhereClause::fromRaw([ 'fromEmailAddressId' => $emailAddressId, ]); } }