Exemplo n.º 1
0
 /**
  * @param mixed                 $emailOwner
  * @param OrganizationInterface $organization
  * @param string                $originName
  * @param bool                  $enableUseUserEmailOrigin
  *
  * @return mixed|null|object|InternalEmailOrigin|UserEmailOrigin
  */
 public function findEmailOrigin($emailOwner, $organization, $originName, $enableUseUserEmailOrigin)
 {
     if ($emailOwner instanceof User) {
         $origin = $this->getPreferredOrigin($emailOwner, $organization, $enableUseUserEmailOrigin);
     } elseif ($emailOwner instanceof Mailbox) {
         $origin = $emailOwner->getOrigin();
     } else {
         $origin = $this->getEntityManager()->getRepository('OroEmailBundle:InternalEmailOrigin')->findOneBy(['internalName' => $originName]);
     }
     if ($this->isEmptyOrigin($origin)) {
         $user = $this->emailModel->getCampaignOwner();
         $origin = $this->getPreferredOrigin($user, $organization, $enableUseUserEmailOrigin);
     }
     return $origin;
 }