From 62347a56ba1dc57cb233068b375af377ac4a117b Mon Sep 17 00:00:00 2001 From: Ivan Nieto Vivanco Date: Tue, 27 Jun 2023 16:41:30 -0600 Subject: [PATCH 1/8] Add button with cancel action in requested assets view --- resources/views/hardware/requested.blade.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/resources/views/hardware/requested.blade.php b/resources/views/hardware/requested.blade.php index 25b2a51e28..36bcd74040 100644 --- a/resources/views/hardware/requested.blade.php +++ b/resources/views/hardware/requested.blade.php @@ -24,7 +24,7 @@ 'id' => 'bulkForm']) }}
- + {{ Form::close() }} @if ($requestedItems->count() > 0)
{{ trans('admin/hardware/form.expected_checkin') }} - + @@ -103,6 +103,9 @@ @endif +
{{ trans('admin/hardware/table.requesting_user') }} {{ trans('admin/hardware/table.requested_date') }}{{ trans('general.checkin').'/'.trans('general.checkout') }}{{ trans('button.actions') }}
{{ App\Helpers\Helper::getFormattedDateObject($request->created_at, 'datetime', false) }} +
@csrf
+
@if ($request->itemType() == "asset") @if ($request->requestable->assigned_to=='') From b647a8fcd242ba7821badf9165ea71d09e25a07b Mon Sep 17 00:00:00 2001 From: Ivan Nieto Vivanco Date: Tue, 27 Jun 2023 17:02:25 -0600 Subject: [PATCH 2/8] Change the inline form HTML label to the Form:: facade --- resources/views/hardware/requested.blade.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/resources/views/hardware/requested.blade.php b/resources/views/hardware/requested.blade.php index 36bcd74040..beccf44725 100644 --- a/resources/views/hardware/requested.blade.php +++ b/resources/views/hardware/requested.blade.php @@ -104,7 +104,12 @@ {{ App\Helpers\Helper::getFormattedDateObject($request->created_at, 'datetime', false) }} -
@csrf
+ {{ Form::open([ + 'method' => 'POST', + 'route' => ['account/request-asset', $request->requestable->id], + ]) }} + + {{ Form::close() }}
@if ($request->itemType() == "asset") From eb4d7646015fe00ed9a499299e3aaa3945ae20cb Mon Sep 17 00:00:00 2001 From: Ivan Nieto Vivanco Date: Tue, 27 Jun 2023 17:13:11 -0600 Subject: [PATCH 3/8] Refactor Requestable@cancelRequest() firm to admit a user_id so we can cancel a request of whatever user we want --- app/Models/Requestable.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/Models/Requestable.php b/app/Models/Requestable.php index 3983254e41..bf5c9c427b 100644 --- a/app/Models/Requestable.php +++ b/app/Models/Requestable.php @@ -38,8 +38,12 @@ trait Requestable $this->requests()->where('user_id', Auth::id())->delete(); } - public function cancelRequest() + public function cancelRequest($user_id = null) { - $this->requests()->where('user_id', Auth::id())->update(['canceled_at' => \Carbon\Carbon::now()]); + if (!$user_id){ + $user_id = Auth::id(); + } + + $this->requests()->where('user_id', $user_id)->update(['canceled_at' => \Carbon\Carbon::now()]); } } From 1c29bd37a69b3129e62dcc3ee97bca7869eee652 Mon Sep 17 00:00:00 2001 From: Ivan Nieto Vivanco Date: Tue, 27 Jun 2023 18:11:10 -0600 Subject: [PATCH 4/8] Added feature to cancel requests from the Requested Assets view --- app/Http/Controllers/ViewAssetsController.php | 6 +++--- resources/views/hardware/requested.blade.php | 2 +- routes/web.php | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/ViewAssetsController.php b/app/Http/Controllers/ViewAssetsController.php index ee3e4b14c6..f8f72ea3a8 100755 --- a/app/Http/Controllers/ViewAssetsController.php +++ b/app/Http/Controllers/ViewAssetsController.php @@ -82,7 +82,7 @@ class ViewAssetsController extends Controller return view('account/requestable-assets', compact('assets', 'models')); } - public function getRequestItem(Request $request, $itemType, $itemId = null) + public function getRequestItem(Request $request, $itemType, $itemId = null, $cancel_by_admin = false, $requestingUser = null) { $item = null; $fullItemType = 'App\\Models\\'.studly_case($itemType); @@ -119,8 +119,8 @@ class ViewAssetsController extends Controller $settings = Setting::getSettings(); - if ($item_request = $item->isRequestedBy($user)) { - $item->cancelRequest(); + if (($item_request = $item->isRequestedBy($user)) || $cancel_by_admin) { + $item->cancelRequest($requestingUser); $data['item_quantity'] = $item_request->qty; $logaction->logaction('request_canceled'); diff --git a/resources/views/hardware/requested.blade.php b/resources/views/hardware/requested.blade.php index beccf44725..25502b42c3 100644 --- a/resources/views/hardware/requested.blade.php +++ b/resources/views/hardware/requested.blade.php @@ -106,7 +106,7 @@ {{ Form::open([ 'method' => 'POST', - 'route' => ['account/request-asset', $request->requestable->id], + 'route' => ['account/request-item', $request->itemType(), $request->requestable->id, true, $request->requestingUser()->id], ]) }} {{ Form::close() }} diff --git a/routes/web.php b/routes/web.php index 49998f43fc..5de6ef9025 100644 --- a/routes/web.php +++ b/routes/web.php @@ -281,7 +281,7 @@ Route::group(['prefix' => 'account', 'middleware' => ['auth']], function () { )->name('account/request-asset'); Route::post( - 'request/{itemType}/{itemId}', + 'request/{itemType}/{itemId}/{cancel_by_admin?}/{requestingUser?}', [ViewAssetsController::class, 'getRequestItem'] )->name('account/request-item'); From b4b84f91d0020dfa695dfc263fa2ebc510eff2e6 Mon Sep 17 00:00:00 2001 From: Ivan Nieto Vivanco Date: Tue, 27 Jun 2023 18:25:38 -0600 Subject: [PATCH 5/8] Redirect to correct page after cancel action --- app/Http/Controllers/ViewAssetsController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Controllers/ViewAssetsController.php b/app/Http/Controllers/ViewAssetsController.php index f8f72ea3a8..a759ca1978 100755 --- a/app/Http/Controllers/ViewAssetsController.php +++ b/app/Http/Controllers/ViewAssetsController.php @@ -128,7 +128,7 @@ class ViewAssetsController extends Controller $settings->notify(new RequestAssetCancelation($data)); } - return redirect()->route('requestable-assets')->with('success')->with('success', trans('admin/hardware/message.requests.canceled')); + return redirect()->back()->with('success')->with('success', trans('admin/hardware/message.requests.canceled')); } else { $item->request(); if (($settings->alert_email != '') && ($settings->alerts_enabled == '1') && (! config('app.lock_passwords'))) { From 8496e64e16daf779b9dedcb775232ea3901aa546 Mon Sep 17 00:00:00 2001 From: Ivan Nieto Vivanco Date: Tue, 27 Jun 2023 18:37:22 -0600 Subject: [PATCH 6/8] Adds ternary to set a quantity when needed --- app/Http/Controllers/ViewAssetsController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Controllers/ViewAssetsController.php b/app/Http/Controllers/ViewAssetsController.php index a759ca1978..c9aafd2c78 100755 --- a/app/Http/Controllers/ViewAssetsController.php +++ b/app/Http/Controllers/ViewAssetsController.php @@ -121,7 +121,7 @@ class ViewAssetsController extends Controller if (($item_request = $item->isRequestedBy($user)) || $cancel_by_admin) { $item->cancelRequest($requestingUser); - $data['item_quantity'] = $item_request->qty; + $data['item_quantity'] = ($item_request) ? $item_request->qty : 1; $logaction->logaction('request_canceled'); if (($settings->alert_email != '') && ($settings->alerts_enabled == '1') && (! config('app.lock_passwords'))) { From 85e717bc4e920bc5e3a7110d5d58193cb18d06e6 Mon Sep 17 00:00:00 2001 From: Ivan Nieto Vivanco Date: Wed, 28 Jun 2023 10:38:44 -0600 Subject: [PATCH 7/8] Fix cancel button style and translate title --- resources/lang/en/general.php | 1 + resources/views/hardware/requested.blade.php | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/resources/lang/en/general.php b/resources/lang/en/general.php index 28f9fd82ba..e8affbf945 100644 --- a/resources/lang/en/general.php +++ b/resources/lang/en/general.php @@ -436,6 +436,7 @@ return [ 'errors_importing' => 'Some Errors occurred while importing: ', 'warning' => 'WARNING: :warning', 'success_redirecting' => '"Success... Redirecting.', + 'cancel_request' => 'Cancel this item request', 'setup_successful_migrations' => 'Your database tables have been created', 'setup_migration_output' => 'Migration output:', 'setup_migration_create_user' => 'Next: Create User', diff --git a/resources/views/hardware/requested.blade.php b/resources/views/hardware/requested.blade.php index 25502b42c3..61e3b87c3f 100644 --- a/resources/views/hardware/requested.blade.php +++ b/resources/views/hardware/requested.blade.php @@ -24,7 +24,7 @@ 'id' => 'bulkForm']) }}
- {{ Form::close() }} + @if ($requestedItems->count() > 0)
'POST', 'route' => ['account/request-item', $request->itemType(), $request->requestable->id, true, $request->requestingUser()->id], ]) }} - + {{ Form::close() }} - + @@ -143,7 +138,6 @@ - {{ Form::close() }} @stop
@@ -143,6 +143,7 @@ + {{ Form::close() }} @stop From e2c2736a9cdd2f2836e6df14fc9a8d2123e58357 Mon Sep 17 00:00:00 2001 From: Ivan Nieto Vivanco Date: Wed, 28 Jun 2023 11:23:37 -0600 Subject: [PATCH 8/8] Delete (gulp) Form for bulk edit since is not used in this view --- resources/views/hardware/requested.blade.php | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/resources/views/hardware/requested.blade.php b/resources/views/hardware/requested.blade.php index 61e3b87c3f..da90b3bf28 100644 --- a/resources/views/hardware/requested.blade.php +++ b/resources/views/hardware/requested.blade.php @@ -17,11 +17,6 @@
- {{ Form::open([ - 'method' => 'POST', - 'route' => ['hardware/bulkedit'], - 'class' => 'form-inline', - 'id' => 'bulkForm']) }}
@@ -51,7 +46,7 @@
{{ trans('admin/hardware/form.expected_checkin') }} {{ trans('admin/hardware/table.requesting_user') }} {{ trans('admin/hardware/table.requested_date') }}{{ trans('button.actions') }}{{ trans('button.actions') }}