54 lines
1.4 KiB
PHP
54 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace App\Observers;
|
|
|
|
use App\Notifications\HrActionNotification;
|
|
use Modules\Employee\Models\Employee;
|
|
use Modules\Recruit\Models\InterviewSchedule;
|
|
|
|
|
|
class InterviewScheduleObserver
|
|
{
|
|
/**
|
|
* Handle the InterviewSchedule "created" event.
|
|
*/
|
|
public function created(InterviewSchedule $interviewSchedule): void
|
|
{
|
|
$interviewers = Employee::whereIn('id', $interviewSchedule->interviewer_choices)->get();
|
|
$interviewers->each->notify(new HrActionNotification('interviewer', $interviewSchedule,'you have been selected as interviewer'));
|
|
$interviewSchedule->jobPost->jobApplications->each->notify(new HrActionNotification('interviewee', $interviewSchedule,'you interview has been scheduled'));
|
|
}
|
|
|
|
/**
|
|
* Handle the InterviewSchedule "updated" event.
|
|
*/
|
|
public function updated(InterviewSchedule $interviewSchedule): void
|
|
{
|
|
//
|
|
}
|
|
|
|
/**
|
|
* Handle the InterviewSchedule "deleted" event.
|
|
*/
|
|
public function deleted(InterviewSchedule $interviewSchedule): void
|
|
{
|
|
//
|
|
}
|
|
|
|
/**
|
|
* Handle the InterviewSchedule "restored" event.
|
|
*/
|
|
public function restored(InterviewSchedule $interviewSchedule): void
|
|
{
|
|
//
|
|
}
|
|
|
|
/**
|
|
* Handle the InterviewSchedule "force deleted" event.
|
|
*/
|
|
public function forceDeleted(InterviewSchedule $interviewSchedule): void
|
|
{
|
|
//
|
|
}
|
|
}
|