Make notifications cancellable

This commit makes certain notifications cancellable. This enables notifications to be sent conditionally based on the user's choice.
This commit is contained in:
2020-08-31 22:06:00 +01:00
parent 27b1f3170b
commit 17fb0e236f
8 changed files with 106 additions and 62 deletions

View File

@@ -0,0 +1,49 @@
<?php
namespace App\Traits;
use App\Facades\Options;
trait Cancellable
{
public function chooseChannelsViaOptions()
{
$channels = [];
if (Options::getOption('enable_slack_notifications') == 1)
{
array_push($channels, 'slack');
}
elseif(Options::getOption('enable_email_notifications') == 1)
{
array_push($channels, 'email');
}
return $channels;
}
public function channels()
{
return ['mail'];
}
public function via($notifiable)
{
if ($this->optOut($notifiable))
{
return [];
}
return $this->channels();
}
public function optOut($notifiable)
{
return false;
}
}