From c332b98456c9a8e982dbbbc6d44e1ad1891aa2af Mon Sep 17 00:00:00 2001 From: Marcus Moore Date: Mon, 21 Aug 2023 13:44:49 -0700 Subject: [PATCH] Add last checkin options to report front end --- app/Http/Controllers/ReportsController.php | 17 +++++++++++++++ resources/lang/en/admin/hardware/table.php | 1 + resources/views/reports/custom.blade.php | 22 +++++++++++++++++++ tests/Feature/Reports/CustomReportTest.php | 25 ++++++++++++++++++++++ 4 files changed, 65 insertions(+) diff --git a/app/Http/Controllers/ReportsController.php b/app/Http/Controllers/ReportsController.php index c9a88ea0f1..ed67c6e625 100644 --- a/app/Http/Controllers/ReportsController.php +++ b/app/Http/Controllers/ReportsController.php @@ -545,6 +545,10 @@ class ReportsController extends Controller $header[] = trans('admin/hardware/table.checkout_date'); } + if ($request->filled('checkin_date')) { + $header[] = trans('admin/hardware/table.last_checkin_date'); + } + if ($request->filled('expected_checkin')) { $header[] = trans('admin/hardware/form.expected_checkin'); } @@ -651,6 +655,13 @@ class ReportsController extends Controller $assets->whereBetween('assets.last_checkout', [$checkout_start, $checkout_end]); } + if (($request->filled('checkin_date_start')) && ($request->filled('checkin_date_end'))) { + $assets->whereBetween('last_checkin', [ + Carbon::parse($request->input('checkin_date_start'))->startOfDay(), + Carbon::parse($request->input('checkin_date_end'))->endOfDay(), + ]); + } + if (($request->filled('expected_checkin_start')) && ($request->filled('expected_checkin_end'))) { $assets->whereBetween('assets.expected_checkin', [$request->input('expected_checkin_start'), $request->input('expected_checkin_end')]); } @@ -835,6 +846,12 @@ class ReportsController extends Controller $row[] = ($asset->last_checkout) ? $asset->last_checkout : ''; } + if ($request->filled('checkin_date')) { + $row[] = ($asset->last_checkin) + ? Carbon::parse($asset->last_checkin)->format('Y-m-d') + : ''; + } + if ($request->filled('expected_checkin')) { $row[] = ($asset->expected_checkin) ? $asset->expected_checkin : ''; } diff --git a/resources/lang/en/admin/hardware/table.php b/resources/lang/en/admin/hardware/table.php index 10629fd22c..06b60bfd83 100644 --- a/resources/lang/en/admin/hardware/table.php +++ b/resources/lang/en/admin/hardware/table.php @@ -14,6 +14,7 @@ return [ 'dl_csv' => 'Download CSV', 'eol' => 'EOL', 'id' => 'ID', + 'last_checkin_date' => 'Last Checkin Date', 'location' => 'Location', 'purchase_cost' => 'Cost', 'purchase_date' => 'Purchased', diff --git a/resources/views/reports/custom.blade.php b/resources/views/reports/custom.blade.php index ff78f21686..5b0bd384ee 100644 --- a/resources/views/reports/custom.blade.php +++ b/resources/views/reports/custom.blade.php @@ -141,6 +141,11 @@ {{ trans('admin/hardware/table.checkout_date') }} + +