public function itBuildsAndSendsAClassicEmailIfProjectDoesNotUseTruncatedEmail() { $project = stub('Project')->getTruncatedEmailsUsage()->returns(false); $sent = $this->builder->buildAndSendEmail($project, $this->notification, $this->mail_enhancer); expect($this->renderer)->renderToString()->never(); expect($this->mail_enhancer)->enhanceMail()->count(2); $this->assertTrue($sent); }
function sendNotifications($event, $params) { $success = true; foreach ($this->notifications as $notification) { $success &= $this->mail_builder->buildAndSendEmail($this->project, $notification, new MailEnhancer()); } if (!$success) { $this->_feedback->log('warning', 'Error when sending some notifications.'); } }
private function sendErrorNotification(GitRepository $repository) { $user = $this->getRequester(); if (!$user->isAnonymous()) { $factory = new BaseLanguageFactory(); $language = $factory->getBaseLanguage($user->getLocale()); $url = get_server_url() . GIT_BASE_URL . '/?action=repo_management&group_id=' . $repository->getProjectId() . '&repo_id=' . $repository->getId() . '&pane=gerrit'; $notification = new Notification(array($user->getEmail()), $language->getText('plugin_git', 'delegated_to_gerrit_error_mail_subject', array($repository->getFullName())), $language->getText('plugin_git', 'delegated_to_gerrit_error_mail_body', array($repository->getFullName(), $url)), $language->getText('plugin_git', 'delegated_to_gerrit_error_mail_body', array($repository->getFullName(), $url)), $url, 'git'); $this->mail_builder->buildAndSendEmail($repository->getProject(), $notification, new MailEnhancer()); } }
/** * @return bool */ private function sendMail(GitRepository $repository, MailBuilder $mail_builder, $oldrev, $newrev, $refname) { $mail_raw_output = array(); exec('/usr/share/codendi/plugins/git/hooks/post-receive-email ' . escapeshellarg($oldrev) . ' ' . escapeshellarg($newrev) . ' ' . escapeshellarg($refname), $mail_raw_output); $subject = isset($mail_raw_output[0]) ? $mail_raw_output[0] : self::DEFAULT_MAIL_SUBJECT; $mail_enhancer = new MailEnhancer(); $this->addAdditionalMailHeaders($mail_enhancer, $mail_raw_output); $body = $this->createMailBody($mail_raw_output); $access_link = $repository->getDiffLink($this->repository_url_manager, $newrev); $notification = new Notification($repository->getNotifiedMails(), $subject, '', $body, $access_link, 'Git'); return $mail_builder->buildAndSendEmail($repository->getProject(), $notification, $mail_enhancer); }
public function itDoesNotStopIfAMailIsNotSent() { $project = stub('Project')->getTruncatedEmailsUsage()->returns(false); $codendi_mail_2 = stub('Codendi_Mail')->send()->returns(true); stub($this->codendi_mail)->send()->returns(false); stub($this->builder)->getMailSender()->returnsAt(0, $this->codendi_mail); stub($this->builder)->getMailSender()->returnsAt(1, $codendi_mail_2); $this->builder->expectCallCount('getMailSender', 2); $this->codendi_mail->expectCallCount('send', 1); $codendi_mail_2->expectCallCount('send', 1); $sent = $this->builder->buildAndSendEmail($project, $this->notification, $this->mail_enhancer); $this->assertFalse($sent); }
/** * @param Project $project * @param array $emails * @param $subject * @param $html_body * @param $text_body * @param $link * @param $truncated_service_name * @param MailEnhancer $mail_enhancer * * @return bool */ public function buildAndSendEmail(Project $project, array $emails, $subject, $html_body, $text_body, $link, $truncated_service_name, MailEnhancer $mail_enhancer) { return $this->mail_builder->buildAndSendEmail($project, $this->getNotification($emails, $subject, $html_body, $text_body, $link, $truncated_service_name), $mail_enhancer); }
/** * @return bool */ private function sendEmail(FRSRelease $release, Notification $notification) { $builder = new MailBuilder(TemplateRendererFactory::build()); return $builder->buildAndSendEmail($release->getProject(), $notification, new MailEnhancer()); }
/** * Notify after deleting monitoring for a user * * @param FRSPackage $package Id of th package * @param PFUser $user The deleted user * * @return Boolean */ function notifyAfterDelete(FRSPackage $package, PFUser $user) { $mail_builder = new MailBuilder(TemplateRendererFactory::build()); $htmlBody = $GLOBALS['Language']->getText('file_filemodule_monitor', 'delete_monitor_mail'); $htmlBody .= ' <a href="' . $goto_link . '" >' . $package->getName() . '</a>'; $htmlBody .= '<br /><br /><a href="' . get_server_url() . '/file/filemodule_monitor.php?group_id=' . $package->getGroupID() . '&filemodule_id=' . $package->getPackageID() . '" >' . $GLOBALS['Language']->getText('file_showfiles', 'start_monitoring') . '</a>'; $txtBody = $GLOBALS['Language']->getText('file_filemodule_monitor', 'delete_monitor_mail') . ' "' . $package->getName() . '" : '; $txtBody .= $goto_link; $txtBody .= "\n\n" . $GLOBALS['Language']->getText('file_showfiles', 'start_monitoring') . ': '; $txtBody .= get_server_url() . '/file/filemodule_monitor.php?group_id=' . $package->getGroupID() . '&filemodule_id=' . $package->getPackageID(); $notification = $this->getNotification($package, $user, $htmlBody, $txtBody); $project = ProjectManager::instance()->getProject($package->getGroupID()); return $mail_builder->buildAndSendEmail($project, $notification, new MailEnhancer()); }
/** * @return bool */ public function send() { $mail_builder = new MailBuilder(TemplateRendererFactory::build()); return $mail_builder->buildAndSendEmail($this->project, $this->notification, $this->mail_enhancer); }