target = $params['target']; $this->item = $params['item']; $this->admin = $params['admin']; $this->note = ''; $this->settings = $params['settings']; if (array_key_exists('note', $params)) { $this->note = $params['note']; } } /** * Get the notification's delivery channels. * * @param mixed $notifiable * @return array */ public function via($notifiable) { $notifyBy = []; if (Setting::getSettings()->slack_endpoint!='') { $notifyBy[] = 'slack'; } $notifyBy[] = 'mail'; return $notifyBy; } public function toSlack($notifiable) { $target = $this->target; $admin = $this->admin; $item = $this->item; $note = $this->note; $botname = ($this->settings->slack_botname) ? $this->settings->slack_botname : 'Snipe-Bot' ; $fields = [ 'To' => '<'.$target->present()->viewUrl().'|'.$target->present()->fullName().'>', 'By' => '<'.$admin->present()->viewUrl().'|'.$admin->present()->fullName().'>', ]; return (new SlackMessage) ->content(':arrow_down: :floppy_disk: License Checked In') ->from($botname) ->attachment(function ($attachment) use ($item, $note, $admin, $fields) { $attachment->title(htmlspecialchars_decode($item->present()->name), $item->present()->viewUrl()) ->fields($fields) ->content($note); }); } /** * Get the mail representation of the notification. * * @param mixed $notifiable * @return \Illuminate\Notifications\Messages\MailMessage */ public function toMail($notifiable) { return (new MailMessage)->markdown('notifications.markdown.checkin-license', [ 'item' => $this->item, 'admin' => $this->admin, 'note' => $this->note, 'target' => $this->target, ]) ->subject('License checked in'); } /** * Get the array representation of the notification. * * @param mixed $notifiable * @return array */ public function toArray($notifiable) { return [ // ]; } }