stateManager->cancel($vacationRequest, $user); ClearVacationRequestDaysInGoogleCalendar::dispatch($vacationRequest); if ($this->configRetriever->isVacation($vacationRequest->type)) { $this->notify($vacationRequest); } } protected function notify(VacationRequest $vacationRequest): void { $users = User::query() ->where("id", "!=", $vacationRequest->user->id) ->whereIn("role", [Role::TechnicalApprover, Role::AdministrativeApprover, Role::Administrator]) ->get(); foreach ($users as $user) { $user->notify(new VacationRequestStatusChangedNotification($vacationRequest, $user)); } $vacationRequest->user->notify(new VacationRequestStatusChangedNotification($vacationRequest, $vacationRequest->user)); } }