From 5f02e23f511a4381199f6b9d9e38f6cc4da638c1 Mon Sep 17 00:00:00 2001 From: Kamil Niemczycki Date: Fri, 3 Jun 2022 16:54:57 +0200 Subject: [PATCH] #157 - added support for the user id parameter --- .../Controllers/VacationRequestController.php | 6 ++++ resources/js/Pages/Calendar.vue | 34 +++++++++++++------ resources/js/Pages/VacationRequest/Create.vue | 3 +- 3 files changed, 32 insertions(+), 11 deletions(-) diff --git a/app/Infrastructure/Http/Controllers/VacationRequestController.php b/app/Infrastructure/Http/Controllers/VacationRequestController.php index 2afd336..450f41a 100644 --- a/app/Infrastructure/Http/Controllers/VacationRequestController.php +++ b/app/Infrastructure/Http/Controllers/VacationRequestController.php @@ -173,6 +173,11 @@ class VacationRequestController extends Controller ->orderByProfileField("first_name") ->get(); + if(($selectedUserId = $request->get("user")) && is_numeric($selectedUserId)) { + $userId = User::query() + ->find($selectedUserId)?->id; + } + return inertia("VacationRequest/Create", [ "vacationTypes" => VacationType::casesToSelect(), "users" => SimpleUserResource::collection($users), @@ -180,6 +185,7 @@ class VacationRequestController extends Controller "createOnBehalfOfEmployee" => $request->user()->can("createOnBehalfOfEmployee", VacationRequest::class), "skipFlow" => $request->user()->can("skipFlow", VacationRequest::class), ], + "userId" => $userId ?? null, "vacationStartDate" => $request->get("start_date"), ]); } diff --git a/resources/js/Pages/Calendar.vue b/resources/js/Pages/Calendar.vue index f8db8b8..ea791ae 100644 --- a/resources/js/Pages/Calendar.vue +++ b/resources/js/Pages/Calendar.vue @@ -110,18 +110,32 @@ > - -
- -
-
+ +
+ +
+
+ +
+ +
+
+ diff --git a/resources/js/Pages/VacationRequest/Create.vue b/resources/js/Pages/VacationRequest/Create.vue index b6eaf2d..4749121 100644 --- a/resources/js/Pages/VacationRequest/Create.vue +++ b/resources/js/Pages/VacationRequest/Create.vue @@ -343,12 +343,13 @@ const props = defineProps({ users: Object, holidays: Object, can: Object, + userId: [Number, null], vacationStartDate: [String, null], }) const form = useForm({ user: props.can.createOnBehalfOfEmployee - ? props.users.data.find(user => user.id === props.auth.user.id) ?? props.users.data[0] + ? props.users.data.find(user => user.id === (props.userId ?? props.auth.user.id)) ?? props.users.data[0] : props.auth.user, from: props.vacationStartDate, to: null,