recurring_invoice = $recurring_invoice; $this->client_contact = $client_contact; } /** * Get the notification's delivery channels. * * @param mixed $notifiable * @return array */ public function via($notifiable) { return ['slack']; } /** * Get the mail representation of the notification. * * @param mixed $notifiable * @return MailMessage */ public function toMail($notifiable) { } /** * Get the array representation of the notification. * * @param mixed $notifiable * @return array */ public function toArray($notifiable) { return [ // ]; } public function toSlack($notifiable) { $name = $this->client_contact->present()->name(); $client_name = $this->client_contact->client->present()->name(); $recurring_invoice_number = $this->recurring_invoice->number; return (new SlackMessage) ->success() ->to('#devv2') ->from('System') ->image('https://app.invoiceninja.com/favicon.png') ->content("Contact {$name} from client {$client_name} requested to cancel Recurring Invoice #{$recurring_invoice_number}"); } /** * Set a callback that should be used when building the notification mail message. * * @param Closure $callback * @return void */ public static function toMailUsing($callback) { static::$toMailCallback = $callback; } }