ref
This commit is contained in:
@@ -30,7 +30,10 @@
|
||||
namespace Espo\Classes\FieldProcessing\Email;
|
||||
|
||||
use Espo\Core\Name\Field;
|
||||
use Espo\Entities\User;
|
||||
use Espo\Modules\Crm\Entities\Call;
|
||||
use Espo\Modules\Crm\Entities\Contact;
|
||||
use Espo\Modules\Crm\Entities\Lead;
|
||||
use Espo\Modules\Crm\Entities\Meeting;
|
||||
use Espo\ORM\Entity;
|
||||
use Espo\ORM\EntityManager;
|
||||
@@ -57,9 +60,9 @@ class IcsDataLoader implements Loader
|
||||
{
|
||||
/** @var array<string, string> */
|
||||
private $entityTypeLinkMap = [
|
||||
'User' => 'users',
|
||||
'Contact' => 'contacts',
|
||||
'Lead' => 'leads',
|
||||
User::ENTITY_TYPE => Meeting::LINK_USERS,
|
||||
Contact::ENTITY_TYPE => Meeting::LINK_CONTACTS,
|
||||
Lead::ENTITY_TYPE => Meeting::LINK_LEADS,
|
||||
];
|
||||
|
||||
public function __construct(private EntityManager $entityManager, private Log $log)
|
||||
|
||||
@@ -291,7 +291,9 @@ class Invitations
|
||||
$attendees = [];
|
||||
|
||||
/** @var iterable<User> $users */
|
||||
$users = $this->entityManager->getRelation($entity, 'users')->find();
|
||||
$users = $this->entityManager
|
||||
->getRelation($entity, Meeting::LINK_USERS)
|
||||
->find();
|
||||
|
||||
foreach ($users as $it) {
|
||||
$address = $it->getEmailAddress();
|
||||
@@ -303,7 +305,9 @@ class Invitations
|
||||
}
|
||||
|
||||
/** @var iterable<Contact> $contacts */
|
||||
$contacts = $this->entityManager->getRelation($entity, 'contacts')->find();
|
||||
$contacts = $this->entityManager
|
||||
->getRelation($entity, Meeting::LINK_CONTACTS)
|
||||
->find();
|
||||
|
||||
foreach ($contacts as $it) {
|
||||
$address = $it->getEmailAddress();
|
||||
@@ -315,7 +319,9 @@ class Invitations
|
||||
}
|
||||
|
||||
/** @var iterable<Lead> $leads */
|
||||
$leads = $this->entityManager->getRelation($entity, 'leads')->find();
|
||||
$leads = $this->entityManager
|
||||
->getRelation($entity, Meeting::LINK_LEADS)
|
||||
->find();
|
||||
|
||||
foreach ($leads as $it) {
|
||||
$address = $it->getEmailAddress();
|
||||
@@ -334,7 +340,9 @@ class Invitations
|
||||
$timeZone = $this->applicationConfig->getTimeZone();
|
||||
|
||||
if ($invitee instanceof User) {
|
||||
$preferences = $this->entityManager->getRepositoryByClass(Preferences::class)->getById($invitee->getId());
|
||||
$preferences = $this->entityManager
|
||||
->getRepositoryByClass(Preferences::class)
|
||||
->getById($invitee->getId());
|
||||
|
||||
if ($preferences && $preferences->getTimeZone()) {
|
||||
$timeZone = $preferences->getTimeZone();
|
||||
|
||||
@@ -30,6 +30,9 @@
|
||||
namespace Espo\Modules\Crm\Classes\FieldProcessing\Call;
|
||||
|
||||
use Espo\Modules\Crm\Entities\Call;
|
||||
use Espo\Modules\Crm\Entities\Contact;
|
||||
use Espo\Modules\Crm\Entities\Lead;
|
||||
use Espo\Modules\Crm\Entities\Meeting;
|
||||
use Espo\ORM\Entity;
|
||||
use Espo\Core\ORM\Entity as CoreEntity;
|
||||
use Espo\Core\FieldProcessing\Loader;
|
||||
@@ -55,16 +58,16 @@ class PhoneNumberMapLoader implements Loader
|
||||
|
||||
assert($entity instanceof CoreEntity);
|
||||
|
||||
$contactIdList = $entity->getLinkMultipleIdList('contacts');
|
||||
$contactIdList = $entity->getLinkMultipleIdList(Meeting::LINK_CONTACTS);
|
||||
|
||||
if (count($contactIdList)) {
|
||||
$this->populate($map, 'Contact', $contactIdList);
|
||||
$this->populate($map, Contact::ENTITY_TYPE, $contactIdList);
|
||||
}
|
||||
|
||||
$leadIdList = $entity->getLinkMultipleIdList('leads');
|
||||
$leadIdList = $entity->getLinkMultipleIdList(Meeting::LINK_LEADS);
|
||||
|
||||
if (count($leadIdList)) {
|
||||
$this->populate($map, 'Lead', $leadIdList);
|
||||
$this->populate($map, Lead::ENTITY_TYPE, $leadIdList);
|
||||
}
|
||||
|
||||
$entity->set('phoneNumbersMap', $map);
|
||||
|
||||
@@ -131,34 +131,34 @@ class Call extends Entity
|
||||
public function getUsers(): LinkMultiple
|
||||
{
|
||||
/** @var LinkMultiple */
|
||||
return $this->getValueObject('users');
|
||||
return $this->getValueObject(Meeting::LINK_USERS);
|
||||
}
|
||||
|
||||
public function getContacts(): LinkMultiple
|
||||
{
|
||||
/** @var LinkMultiple */
|
||||
return $this->getValueObject('contacts');
|
||||
return $this->getValueObject(Meeting::LINK_CONTACTS);
|
||||
}
|
||||
|
||||
public function getLeads(): LinkMultiple
|
||||
{
|
||||
/** @var LinkMultiple */
|
||||
return $this->getValueObject('leads');
|
||||
return $this->getValueObject(Meeting::LINK_LEADS);
|
||||
}
|
||||
|
||||
public function setUsers(LinkMultiple $users): self
|
||||
{
|
||||
return $this->setValueObject('users', $users);
|
||||
return $this->setValueObject(Meeting::LINK_USERS, $users);
|
||||
}
|
||||
|
||||
public function setContacts(LinkMultiple $contacts): self
|
||||
{
|
||||
return $this->setValueObject('contacts', $contacts);
|
||||
return $this->setValueObject(Meeting::LINK_CONTACTS, $contacts);
|
||||
}
|
||||
|
||||
public function setLeads(LinkMultiple $leads): self
|
||||
{
|
||||
return $this->setValueObject('leads', $leads);
|
||||
return $this->setValueObject(Meeting::LINK_LEADS, $leads);
|
||||
}
|
||||
|
||||
public function setParent(Entity|LinkParent|null $parent): self
|
||||
|
||||
@@ -51,6 +51,10 @@ class Meeting extends Entity
|
||||
public const STATUS_HELD = 'Held';
|
||||
public const STATUS_NOT_HELD = 'Not Held';
|
||||
|
||||
public const LINK_USERS = 'users';
|
||||
public const LINK_CONTACTS = 'contacts';
|
||||
public const LINK_LEADS = 'leads';
|
||||
|
||||
public function setName(?string $name): self
|
||||
{
|
||||
return $this->set(Field::NAME, $name);
|
||||
@@ -136,34 +140,34 @@ class Meeting extends Entity
|
||||
public function getUsers(): LinkMultiple
|
||||
{
|
||||
/** @var LinkMultiple */
|
||||
return $this->getValueObject('users');
|
||||
return $this->getValueObject(self::LINK_USERS);
|
||||
}
|
||||
|
||||
public function getContacts(): LinkMultiple
|
||||
{
|
||||
/** @var LinkMultiple */
|
||||
return $this->getValueObject('contacts');
|
||||
return $this->getValueObject(self::LINK_CONTACTS);
|
||||
}
|
||||
|
||||
public function getLeads(): LinkMultiple
|
||||
{
|
||||
/** @var LinkMultiple */
|
||||
return $this->getValueObject('leads');
|
||||
return $this->getValueObject(self::LINK_LEADS);
|
||||
}
|
||||
|
||||
public function setUsers(LinkMultiple $users): self
|
||||
{
|
||||
return $this->setValueObject('users', $users);
|
||||
return $this->setValueObject(self::LINK_USERS, $users);
|
||||
}
|
||||
|
||||
public function setContacts(LinkMultiple $contacts): self
|
||||
{
|
||||
return $this->setValueObject('contacts', $contacts);
|
||||
return $this->setValueObject(self::LINK_CONTACTS, $contacts);
|
||||
}
|
||||
|
||||
public function setLeads(LinkMultiple $leads): self
|
||||
{
|
||||
return $this->setValueObject('leads', $leads);
|
||||
return $this->setValueObject(self::LINK_LEADS, $leads);
|
||||
}
|
||||
|
||||
public function setParent(Entity|LinkParent|null $parent): self
|
||||
|
||||
@@ -30,7 +30,6 @@
|
||||
namespace Espo\Modules\Crm\Tools\Meeting\Invitation;
|
||||
|
||||
use Espo\Core\Binding\BindingContainerBuilder;
|
||||
use Espo\Core\Exceptions\Error;
|
||||
use Espo\Core\Exceptions\Forbidden;
|
||||
use Espo\Core\InjectableFactory;
|
||||
use Espo\Core\Mail\Exceptions\SendingError;
|
||||
@@ -67,7 +66,6 @@ class Sender
|
||||
* @param Meeting|Call $entity
|
||||
* @param ?Invitee[] $targets
|
||||
* @return Entity[] Entities an invitation was sent to.
|
||||
* @throws Error
|
||||
* @throws SendingError
|
||||
* @throws Forbidden
|
||||
*/
|
||||
@@ -80,7 +78,6 @@ class Sender
|
||||
* @param Meeting|Call $entity
|
||||
* @param ?Invitee[] $targets
|
||||
* @return Entity[] Entities an invitation was sent to.
|
||||
* @throws Error
|
||||
* @throws SendingError
|
||||
* @throws Forbidden
|
||||
*/
|
||||
@@ -93,7 +90,6 @@ class Sender
|
||||
/**
|
||||
* @param ?Invitee[] $targets
|
||||
* @return Entity[]
|
||||
* @throws Error
|
||||
* @throws SendingError
|
||||
* @throws Forbidden
|
||||
*/
|
||||
@@ -102,9 +98,9 @@ class Sender
|
||||
$this->checkStatus($entity, $type);
|
||||
|
||||
$linkList = [
|
||||
'users',
|
||||
'contacts',
|
||||
'leads',
|
||||
Meeting::LINK_USERS,
|
||||
Meeting::LINK_CONTACTS,
|
||||
Meeting::LINK_LEADS,
|
||||
];
|
||||
|
||||
$sender = $this->getSender();
|
||||
|
||||
Reference in New Issue
Block a user