This commit is contained in:
Yuri Kuznetsov
2024-11-14 14:22:23 +02:00
parent f4e5adcf31
commit 79ef327953
5 changed files with 12 additions and 21 deletions
@@ -172,7 +172,7 @@ class DefaultImporter implements Importer
$parentFound = $this->parentFinder->find($email, $message);
if ($parentFound) {
$email->setParent(LinkParent::createFromEntity($parentFound));
$email->setParent($parentFound);
}
if (!$duplicate) {
+2 -1
View File
@@ -33,6 +33,7 @@ use Espo\Core\Field\Link;
use Espo\Core\Field\LinkParent;
use Espo\Core\ORM\Defs\AttributeParam;
use Espo\ORM\BaseEntity;
use Espo\ORM\Entity as OrmEntity;
use Espo\ORM\Name\Attribute;
use Espo\ORM\Query\Part\Order;
use Espo\ORM\Type\AttributeType;
@@ -640,7 +641,7 @@ class Entity extends BaseEntity
/**
* @since 9.0.0
*/
protected function setRelatedLinkOrEntity(string $relation, Link|LinkParent|Entity|null $related): static
protected function setRelatedLinkOrEntity(string $relation, Link|LinkParent|OrmEntity|null $related): static
{
if ($related instanceof Entity || $related === null) {
$this->relations->set($relation, $related);
+6 -14
View File
@@ -36,7 +36,9 @@ use Espo\Core\ORM\Entity;
use Espo\Core\Field\DateTime;
use Espo\Core\Field\LinkParent;
use Espo\Core\Field\Link;
use Espo\Modules\Crm\Entities\Account;
use Espo\ORM\Collection;
use Espo\ORM\Entity as OrmEntity;
use Espo\Repositories\Email as EmailRepository;
use Espo\Tools\Email\Util as EmailUtil;
@@ -651,24 +653,14 @@ class Email extends Entity
return $this->getValueObject(Field::PARENT);
}
public function setAccount(?Link $account): self
public function setAccount(Link|Account|null $account): self
{
$this->setValueObject('account', $account);
return $this;
return $this->setRelatedLinkOrEntity('account', $account);
}
public function setParent(LinkParent|Entity|null $parent): self
public function setParent(LinkParent|OrmEntity|null $parent): self
{
if ($parent instanceof LinkParent) {
$this->setValueObject(Field::PARENT, $parent);
return $this;
}
$this->relations->set(Field::PARENT, $parent);
return $this;
return $this->setRelatedLinkOrEntity(Field::PARENT, $parent);
}
public function getStatus(): ?string
@@ -30,7 +30,6 @@
namespace Espo\Modules\Crm\Classes\RecordHooks\Case;
use Espo\Core\Acl;
use Espo\Core\Field\LinkParent;
use Espo\Core\Record\Hook\SaveHook;
use Espo\Entities\Email;
use Espo\Modules\Crm\Entities\CaseObj;
@@ -63,7 +62,7 @@ class AfterCreate implements SaveHook
return;
}
$email->setParent(LinkParent::createFromEntity($entity));
$email->setParent($entity);
$this->entityManager->saveEntity($email);
}
+2 -3
View File
@@ -434,11 +434,10 @@ class Email extends Database implements
}
if ($accountId) {
/** @var ?Account $account */
$account = $this->entityManager->getEntityById(Account::ENTITY_TYPE, $accountId);
$account = $this->entityManager->getRDBRepositoryByClass(Account::class)->getById($accountId);
if ($account) {
$entity->setAccount(Link::create($accountId, $account->getName()));
$entity->setAccount($account);
}
}
}