コード例 #1
0
 /**
  * {@inheritdoc}
  */
 public function getOrganization($activityEntity)
 {
     /**
      * @var $activityEntity Email
      * @var $emailAddressOwner EmailOwnerInterface
      */
     $emailAddressOwner = $activityEntity->getFromEmailAddress()->getOwner();
     if ($emailAddressOwner && $emailAddressOwner->getOrganization()) {
         return $emailAddressOwner->getOrganization();
     }
     /** @var SecurityContextInterface $securityContext */
     $securityContext = $this->securityContextLink->getService();
     $token = $securityContext->getToken();
     if ($token instanceof OrganizationContextTokenInterface) {
         return $token->getOrganizationContext();
     }
     $processes = $this->mailboxProcessStorage->getProcesses();
     foreach ($processes as $process) {
         $settingsClass = $process->getSettingsEntityFQCN();
         $mailboxes = $this->doctrineRegistryLink->getService()->getRepository('OroEmailBundle:Mailbox')->findBySettingsClassAndEmail($settingsClass, $activityEntity);
         foreach ($mailboxes as $mailbox) {
             return $mailbox->getOrganization();
         }
     }
     return null;
 }