This commit is contained in:
Adrian Hopek 2022-04-20 12:20:56 +02:00
parent 05002dbc33
commit db70c3885f
6 changed files with 13 additions and 7 deletions

View File

@ -32,7 +32,10 @@ class CreateAction
{
$vacationRequest = $this->createVacationRequest($data, $creator);
$this->handleCreatedVacationRequest($vacationRequest);
if ($this->configRetriever->isVacation($vacationRequest->type)) {
$this->notify($vacationRequest);
}
return $vacationRequest;
}

View File

@ -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])

View File

@ -23,8 +23,10 @@ class WaitForTechApprovalAction
{
$this->stateManager->waitForTechnical($vacationRequest);
if ($this->configRetriever->isVacation($vacationRequest->type)) {
$this->notifyTechApprovers($vacationRequest);
}
}
protected function notifyTechApprovers(VacationRequest $vacationRequest): void
{

View File

@ -116,5 +116,4 @@ class UserVacationStatsRetriever
return $types->filter(fn(VacationType $type) => !$this->configRetriever->hasLimit($type));
}
}

View File

@ -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);

View File

@ -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 = [
{