391 Notification refactorings (#441)

* Refactor notifications to allow easier plugins

* Notification refactoring

* Formatting

* Move news to NewsService; cleanup of events

* More refactoring; added send email out for news item and the template

* Formatting

* Formatting
This commit is contained in:
Nabeel S
2019-11-20 10:16:01 -05:00
committed by GitHub
parent 02973a0f22
commit ea3ab21beb
66 changed files with 754 additions and 718 deletions

View File

@@ -0,0 +1,41 @@
<?php
namespace App\Notifications\Channels;
use Illuminate\Notifications\Messages\MailMessage;
trait MailChannel
{
private $mailSubject;
private $mailTemplate;
private $mailTemplateArgs;
/**
* Set the arguments for the toMail() method
*
* @param string $subject Email subject
* @param string $template Markdown template to use
* @param array $args Arguments to pass to the template
*/
public function setMailable($subject, $template, $args)
{
$this->mailSubject = $subject;
$this->mailTemplate = $template;
$this->mailTemplateArgs = $args;
}
/**
* Get the mail representation of the notification.
*
* @param mixed $notifiable
*
* @return \Illuminate\Notifications\Messages\MailMessage
*/
public function toMail($notifiable)
{
return (new MailMessage())
->from(config('mail.from.address', 'no-reply@phpvms.net'))
->subject($this->mailSubject)
->markdown($this->mailTemplate, $this->mailTemplateArgs);
}
}