Add the possibility to send tasks and comments to multiple recipients

This commit is contained in:
Frederic Guillot
2017-11-17 14:46:23 -08:00
parent 3b786e05e0
commit 2a313eb971
44 changed files with 84 additions and 85 deletions

View File

@@ -51,24 +51,25 @@ class CommentMailController extends BaseController
protected function sendByEmail(array $values)
{
$html = $this->template->render('comment_mail/email', array(
'email' => $values,
));
$html = $this->template->render('comment_mail/email', array('email' => $values));
$emails = explode_csv_field($values['emails']);
$this->emailClient->send(
$values['email'],
$values['email'],
$values['subject'],
$html
);
foreach ($emails as $email) {
$this->emailClient->send(
$email,
$email,
$values['subject'],
$html
);
}
}
protected function prepareComment(array $values)
{
$values['comment'] .= "\n\n_".t('Sent by email to [%s](mailto:%s) (%s)', $values['email'], $values['email'], $values['subject']).'_';
$values['comment'] .= "\n\n_".t('Sent by email to "%s" (%s)', $values['emails'], $values['subject']).'_';
unset($values['subject']);
unset($values['email']);
unset($values['emails']);
return $values;
}

View File

@@ -36,7 +36,7 @@ class TaskMailController extends BaseController
$this->flash->success(t('Task sent by email successfully.'));
$this->commentModel->create(array(
'comment' => t('This task was sent by email to "%s" with subject "%s".', $values['email'], $values['subject']),
'comment' => t('This task was sent by email to "%s" with subject "%s".', $values['emails'], $values['subject']),
'user_id' => $this->userSession->getId(),
'task_id' => $task['id'],
));
@@ -49,15 +49,16 @@ class TaskMailController extends BaseController
protected function sendByEmail(array $values, array $task)
{
$html = $this->template->render('task_mail/email', array(
'task' => $task,
));
$emails = explode_csv_field($values['emails']);
$html = $this->template->render('task_mail/email', array('task' => $task));
$this->emailClient->send(
$values['email'],
$values['email'],
$values['subject'],
$html
);
foreach ($emails as $email) {
$this->emailClient->send(
$email,
$email,
$values['subject'],
$html
);
}
}
}