/**
  * @return array
  */
 protected function createChoices()
 {
     $user = $this->securityFacade->getLoggedUser();
     if (!$user instanceof User) {
         return [];
     }
     $emails = array_values($this->relatedEmailsProvider->getEmails($user, 1, true));
     return array_combine($emails, $emails);
 }
 /**
  * @return array
  */
 protected function createChoices()
 {
     $user = $this->securityFacade->getLoggedUser();
     if (!$user instanceof User) {
         return [];
     }
     $emails = array_merge(array_values($this->relatedEmailsProvider->getEmails($user, 1, true)), $this->mailboxManager->findAvailableMailboxEmails($user, $this->securityFacade->getOrganization()));
     return array_combine($emails, $emails);
 }
Exemple #3
0
 /**
  * Gets the email address of the given object
  *
  * @param object $object
  * @return string The email address or empty string if the object has no email
  */
 public function getEmail($object)
 {
     $result = $this->emailHolderHelper->getEmail($object);
     if (!$result) {
         $emails = $this->relatedEmailsProvider->getEmails($object);
         $result = reset($emails);
     }
     return $result ?: '';
 }
 /**
  * {@inheritdoc}
  */
 public function getRecipients(EmailRecipientsProviderArgs $args)
 {
     if (null === ($user = $this->securityFacade->getLoggedUser())) {
         return [];
     }
     $userEmailAddresses = array_keys($this->relatedEmailsProvider->getEmails($user, 1, true));
     $recipientsQb = $this->getEmailRecipientRepository()->getEmailsUsedInLast30DaysQb($userEmailAddresses, [], $args->getQuery())->setMaxResults($args->getLimit());
     $emails = $this->emailsFromResult($this->aclHelper->apply($recipientsQb)->getResult());
     $result = [];
     foreach ($emails as $email => $name) {
         $owner = $this->emailOwnerProvider->findEmailOwner($this->registry->getManager(), $email);
         if (!$this->emailRecipientsHelper->isObjectAllowed($args, $owner)) {
             continue;
         }
         $result[] = new Recipient($email, $name, $this->createRecipientEntity($owner));
     }
     return $result;
 }