diff --git a/app/Domain/Actions/VacationRequest/CreateAction.php b/app/Domain/Actions/VacationRequest/CreateAction.php index 3915d6e..8a823e3 100644 --- a/app/Domain/Actions/VacationRequest/CreateAction.php +++ b/app/Domain/Actions/VacationRequest/CreateAction.php @@ -32,7 +32,10 @@ class CreateAction { $vacationRequest = $this->createVacationRequest($data, $creator); $this->handleCreatedVacationRequest($vacationRequest); - $this->notify($vacationRequest); + + if ($this->configRetriever->isVacation($vacationRequest->type)) { + $this->notify($vacationRequest); + } return $vacationRequest; } diff --git a/app/Domain/Actions/VacationRequest/WaitForAdminApprovalAction.php b/app/Domain/Actions/VacationRequest/WaitForAdminApprovalAction.php index 833b470..f36449e 100644 --- a/app/Domain/Actions/VacationRequest/WaitForAdminApprovalAction.php +++ b/app/Domain/Actions/VacationRequest/WaitForAdminApprovalAction.php @@ -23,10 +23,12 @@ class WaitForAdminApprovalAction { $this->stateManager->waitForAdministrative($vacationRequest); - $this->waitForAdminApprovers($vacationRequest); + if ($this->configRetriever->isVacation($vacationRequest->type)) { + $this->notifyAdminApprovers($vacationRequest); + } } - protected function waitForAdminApprovers(VacationRequest $vacationRequest): void + protected function notifyAdminApprovers(VacationRequest $vacationRequest): void { $users = User::query() ->whereIn("role", [Role::AdministrativeApprover, Role::Administrator]) diff --git a/app/Domain/Actions/VacationRequest/WaitForTechApprovalAction.php b/app/Domain/Actions/VacationRequest/WaitForTechApprovalAction.php index 1686698..8035acd 100644 --- a/app/Domain/Actions/VacationRequest/WaitForTechApprovalAction.php +++ b/app/Domain/Actions/VacationRequest/WaitForTechApprovalAction.php @@ -23,7 +23,9 @@ class WaitForTechApprovalAction { $this->stateManager->waitForTechnical($vacationRequest); - $this->notifyTechApprovers($vacationRequest); + if ($this->configRetriever->isVacation($vacationRequest->type)) { + $this->notifyTechApprovers($vacationRequest); + } } protected function notifyTechApprovers(VacationRequest $vacationRequest): void diff --git a/app/Domain/UserVacationStatsRetriever.php b/app/Domain/UserVacationStatsRetriever.php index e0d7c93..7c11a29 100644 --- a/app/Domain/UserVacationStatsRetriever.php +++ b/app/Domain/UserVacationStatsRetriever.php @@ -116,5 +116,4 @@ class UserVacationStatsRetriever return $types->filter(fn(VacationType $type) => !$this->configRetriever->hasLimit($type)); } - } diff --git a/app/Infrastructure/Http/Controllers/VacationRequestController.php b/app/Infrastructure/Http/Controllers/VacationRequestController.php index 665b4e3..3ae5187 100644 --- a/app/Infrastructure/Http/Controllers/VacationRequestController.php +++ b/app/Infrastructure/Http/Controllers/VacationRequestController.php @@ -152,7 +152,7 @@ class VacationRequestController extends Controller */ public function download( VacationRequest $vacationRequest, - VacationTypeConfigRetriever $configRetriever + VacationTypeConfigRetriever $configRetriever, ): LaravelResponse { if (!$configRetriever->isVacation($vacationRequest->type)) { return abort(SymfonyResponse::HTTP_NOT_FOUND); diff --git a/resources/js/Composables/vacationTypeInfo.js b/resources/js/Composables/vacationTypeInfo.js index ff6ee92..3ed7591 100644 --- a/resources/js/Composables/vacationTypeInfo.js +++ b/resources/js/Composables/vacationTypeInfo.js @@ -8,7 +8,7 @@ import HandHeartOutlineIcon from 'vue-material-design-icons/HandHeartOutline.vue import CalendarCheckIcon from 'vue-material-design-icons/CalendarCheck.vue' import MedicalBagIcon from 'vue-material-design-icons/MedicalBag.vue' import CalendarRemoveIcon from 'vue-material-design-icons/CalendarRemove.vue' -import LaptopIcon from 'vue-material-design-icons/Laptop.vue'; +import LaptopIcon from 'vue-material-design-icons/Laptop.vue' const types = [ {