2020-06-26 23:32:33 +00:00
< ? php
2020-10-21 00:01:41 +00:00
/*
* Copyright © 2020 Miguel Nogueira
*
* This file is part of Raspberry Staff Manager .
*
* Raspberry Staff Manager is free software : you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation , either version 3 of the License , or
* ( at your option ) any later version .
*
* Raspberry Staff Manager is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with Raspberry Staff Manager . If not , see < https :// www . gnu . org / licenses />.
*/
2020-06-26 23:32:33 +00:00
namespace App\Notifications ;
2020-10-21 00:01:41 +00:00
use App\Appointment ;
2020-06-26 23:32:33 +00:00
use Illuminate\Bus\Queueable ;
use Illuminate\Contracts\Queue\ShouldQueue ;
use Illuminate\Notifications\Messages\MailMessage ;
use Illuminate\Notifications\Notification ;
class AppointmentScheduled extends Notification implements ShouldQueue
{
use Queueable ;
protected $appointment ;
/**
* Create a new notification instance .
*
* @ return void
*/
public function __construct ( Appointment $appointment )
{
$this -> appointment = $appointment ;
}
/**
* Get the notification ' s delivery channels .
*
* @ param mixed $notifiable
* @ return array
*/
public function via ( $notifiable )
{
return [ 'mail' ];
}
/**
* Get the mail representation of the notification .
*
* @ param mixed $notifiable
* @ return \Illuminate\Notifications\Messages\MailMessage
*/
public function toMail ( $notifiable )
{
return ( new MailMessage )
-> from ( config ( 'notification.sender.address' ), config ( 'notification.sender.name' ))
2020-10-21 00:01:41 +00:00
-> subject ( config ( 'app.name' ) . ' - Interview scheduled' )
-> line ( 'A voice interview has been scheduled for you @ ' . $this -> appointment -> appointmentDate . '.' )
-> line ( 'With the following details: ' . $this -> appointment -> appointmentDescription )
-> line ( 'This meeting will take place @ ' . $this -> appointment -> appointmentLocation . '. You will receive an email soon with details on how to join this meeting.' )
2020-06-26 23:32:33 +00:00
-> line ( 'You are expected to show up at least 5 minutes before the scheduled date.' )
-> action ( 'Sign in' , url ( route ( 'login' )))
-> line ( 'Thank you!' );
}
/**
* Get the array representation of the notification .
*
* @ param mixed $notifiable
* @ return array
*/
public function toArray ( $notifiable )
{
return [
//
];
}
}