application = $application; } /** * Get the notification's delivery channels. * * @param mixed $notifiable * @return array */ public function via($notifiable) { $options = ['mail']; if (Options::getOption('enable_discord_notifications')) array_push($options, 'discord'); if (Options::getOption('enable_slack_notifications')) array_push($options, 'slack'); return $options; } /** * Get the mail representation of the notification. * * @param mixed $notifiable * @return MailMessage */ public function toMail($notifiable) { return (new MailMessage) ->from(config('notification.sender.address'), config('notification.sender.name')) ->subject(config('app.name') . ' - ' . $this->application->response->vacancy->vacancyName . ' application denied') ->line('Your most recent application has been denied.') ->line('Our review team denies applications for several reasons, including poor answers.') ->line('Please review your application and try again in 30 days.') ->action('Review application', url(route('showUserApp', ['application' => $this->application->id]))) ->line('Better luck next time!'); } public function toSlack($notifiable) { $notifiableName = $notifiable->name; return (new SlackMessage) ->error() ->content('An application has just been denied.') ->attachment(function($attachment) use ($notifiableName){ $attachment->title('Application denied!') ->content($notifiableName . '\'s application has just been denied. They can try again in 30 days.'); }); } public function toDiscord($notifiable) { // SlackMessage is similar to DiscordMessage, so they're compatible return $this->toSlack($notifiable); } /** * Get the array representation of the notification. * * @param mixed $notifiable * @return array */ public function toArray($notifiable) { return [ // ]; } }