diff --git a/app/Domain/TimesheetPerUserSheet.php b/app/Domain/TimesheetPerUserSheet.php index 22e5ddc..8e0fa6d 100644 --- a/app/Domain/TimesheetPerUserSheet.php +++ b/app/Domain/TimesheetPerUserSheet.php @@ -24,8 +24,8 @@ use PhpOffice\PhpSpreadsheet\Style\Border; use PhpOffice\PhpSpreadsheet\Style\Fill; use PhpOffice\PhpSpreadsheet\Style\NumberFormat; use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet; -use Toby\Domain\Enums\VacationRequestState; use Toby\Domain\Enums\VacationType; +use Toby\Domain\States\VacationRequest\Approved; use Toby\Eloquent\Models\Holiday; use Toby\Eloquent\Models\User; use Toby\Eloquent\Models\Vacation; @@ -189,7 +189,7 @@ class TimesheetPerUserSheet implements WithTitle, WithHeadings, WithEvents, With return $user->vacations() ->with("vacationRequest") ->whereBetween("date", [$period->start, $period->end]) - ->whereRelation("vacationRequest", "state", VacationRequestState::Approved->value) + ->whereRelation("vacationRequest", "state", Approved::$name) ->get() ->groupBy( [ diff --git a/app/Domain/VacationRequestStatesRetriever.php b/app/Domain/VacationRequestStatesRetriever.php index ebe66fa..f4caeb8 100644 --- a/app/Domain/VacationRequestStatesRetriever.php +++ b/app/Domain/VacationRequestStatesRetriever.php @@ -48,7 +48,7 @@ class VacationRequestStatesRetriever ]; } - public static function filterByStatus(string $filter): array + public static function filterByStatusGroup(string $filter): array { return match ($filter) { "pending" => self::pendingStates(), diff --git a/app/Infrastructure/Http/Controllers/VacationRequestController.php b/app/Infrastructure/Http/Controllers/VacationRequestController.php index b82c42d..10cb697 100644 --- a/app/Infrastructure/Http/Controllers/VacationRequestController.php +++ b/app/Infrastructure/Http/Controllers/VacationRequestController.php @@ -40,7 +40,7 @@ class VacationRequestController extends Controller ->with("vacations") ->where("year_period_id", $yearPeriodRetriever->selected()->id) ->latest() - ->states(VacationRequestStatesRetriever::filterByStatus($status)) + ->states(VacationRequestStatesRetriever::filterByStatusGroup($status)) ->paginate(); return inertia("VacationRequest/Index", [ @@ -53,7 +53,7 @@ class VacationRequestController extends Controller public function indexForApprovers( Request $request, - YearPeriodRetriever $yearPeriodRetriever + YearPeriodRetriever $yearPeriodRetriever, ): RedirectResponse|Response { if ($request->user()->cannot("listAll", VacationRequest::class)) { return redirect()->route("vacation.requests.index"); @@ -67,7 +67,7 @@ class VacationRequestController extends Controller ->with(["user", "vacations"]) ->where("year_period_id", $yearPeriod->id) ->when($user !== null, fn(Builder $query) => $query->where("user_id", $user)) - ->when($status !== null, fn (Builder $query) => $query->states(VacationRequestStatesRetriever::filterByStatus($status))) + ->when($status !== null, fn(Builder $query) => $query->states([$status])) ->latest() ->paginate(); diff --git a/docker/dev/php/Dockerfile b/docker/dev/php/Dockerfile index da0c855..d068a6c 100644 --- a/docker/dev/php/Dockerfile +++ b/docker/dev/php/Dockerfile @@ -9,14 +9,16 @@ RUN if [ ${INSTALL_XDEBUG} = true ]; then \ && docker-php-ext-enable xdebug \ ;fi -RUN pecl install redis \ - && apk --no-cache add \ +RUN apk add --no-cache pcre-dev $PHPIZE_DEPS \ postgresql-dev \ zip \ libzip-dev \ + libpng-dev \ + && pecl install redis \ && docker-php-ext-install \ pdo_pgsql \ zip \ + gd \ && docker-php-ext-configure \ zip \ && docker-php-ext-enable \ diff --git a/resources/js/Pages/VacationRequest/IndexForApprovers.vue b/resources/js/Pages/VacationRequest/IndexForApprovers.vue index 737e8d5..dbf4fe9 100644 --- a/resources/js/Pages/VacationRequest/IndexForApprovers.vue +++ b/resources/js/Pages/VacationRequest/IndexForApprovers.vue @@ -18,8 +18,8 @@