/** * @param UserInterface $user * @param array $templateData * @param string $type * * @return int The return value is the number of recipients who were accepted for delivery */ protected function sendEmail(UserInterface $user, array $templateData, $type) { list($subjectRendered, $templateRendered) = $templateData; $senderEmail = $this->configManager->get('oro_notification.email_notification_sender_email'); $senderName = $this->configManager->get('oro_notification.email_notification_sender_name'); $email = $this->emailHolderHelper->getEmail($user); $message = \Swift_Message::newInstance()->setSubject($subjectRendered)->setFrom($senderEmail, $senderName)->setTo($email)->setBody($templateRendered, $type); return $this->mailer->send($message); }
/** * 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 ?: ''; }
public function testGetEmailFromRelatedObject() { $object = new TestCustomEntity(); $object->setUser(new TestUser('*****@*****.**')); $object->setEmailHolder(new TestEmailHolder('*****@*****.**')); $object->setOther(new SomeEntity()); $config = new Config(new EntityConfigId('extend', get_class($object))); $config->set('relation', [['owner' => true, 'field_id' => new FieldConfigId('extend', get_class($object), 'user', 'manyToOne'), 'target_entity' => 'Oro\\Bundle\\EmailBundle\\Tests\\Unit\\Fixtures\\Entity\\TestUser'], ['owner' => true, 'field_id' => new FieldConfigId('extend', get_class($object), 'emailHolder', 'manyToOne'), 'target_entity' => 'Oro\\Bundle\\EmailBundle\\Tests\\Unit\\Fixtures\\Entity\\TestEmailHolder'], ['owner' => true, 'field_id' => new FieldConfigId('extend', get_class($object), 'other', 'manyToOne'), 'target_entity' => 'Oro\\Bundle\\EmailBundle\\Tests\\Unit\\Fixtures\\Entity\\SomeEntity']]); $this->extendConfigProvider->expects($this->once())->method('hasConfig')->with(get_class($object))->will($this->returnValue(true)); $this->extendConfigProvider->expects($this->once())->method('getConfig')->with(get_class($object))->will($this->returnValue($config)); $this->helper->addTargetEntity('Oro\\Bundle\\EmailBundle\\Tests\\Unit\\Fixtures\\Entity\\TestUser'); $this->helper->addTargetEntity('Oro\\Bundle\\EmailBundle\\Tests\\Unit\\Fixtures\\Entity\\TestEmailHolder', -10); $this->assertEquals('*****@*****.**', $this->helper->getEmail($object)); }
/** * 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); return null !== $result ? $result : ''; }