From b038fe8f2edd1a41b7d600350af46e07821e098c Mon Sep 17 00:00:00 2001 From: Godfrey M Date: Wed, 5 Apr 2023 10:00:39 -0700 Subject: [PATCH 1/3] adds unavailable message to overcheckout --- .../Accessories/AccessoryCheckoutController.php | 8 ++++++++ resources/lang/en/admin/accessories/message.php | 1 + 2 files changed, 9 insertions(+) diff --git a/app/Http/Controllers/Accessories/AccessoryCheckoutController.php b/app/Http/Controllers/Accessories/AccessoryCheckoutController.php index 6144bb6f9..db41731dd 100644 --- a/app/Http/Controllers/Accessories/AccessoryCheckoutController.php +++ b/app/Http/Controllers/Accessories/AccessoryCheckoutController.php @@ -77,6 +77,14 @@ class AccessoryCheckoutController extends Controller 'note' => $request->input('note'), ]); + $checkedout=DB::table('accessories_users')->where('accessory_id', '=', $accessory->id)->count(); + $available=DB::table('accessories')->where('id', '=', $accessory->id)->first('qty'); + + if($checkedout >= $available->qty){ + + return redirect()->route('accessories.index')->with('error', trans('admin/accessories/message.checkout.unavailable')); + } + DB::table('accessories_users')->where('assigned_to', '=', $accessory->assigned_to)->where('accessory_id', '=', $accessory->id)->first(); event(new CheckoutableCheckedOut($accessory, $user, Auth::user(), $request->input('note'))); diff --git a/resources/lang/en/admin/accessories/message.php b/resources/lang/en/admin/accessories/message.php index a35646306..542f71f03 100644 --- a/resources/lang/en/admin/accessories/message.php +++ b/resources/lang/en/admin/accessories/message.php @@ -24,6 +24,7 @@ return array( 'checkout' => array( 'error' => 'Accessory was not checked out, please try again', 'success' => 'Accessory checked out successfully.', + 'unavailable' => 'Accessory is not available for checkout. Check quantity available', 'user_does_not_exist' => 'That user is invalid. Please try again.' ), From 55943d889769004ba5ac0e802bdb1aa5b46d64ff Mon Sep 17 00:00:00 2001 From: Godfrey M Date: Thu, 6 Apr 2023 10:05:17 -0700 Subject: [PATCH 2/3] uses numRemaining now --- .../Controllers/Accessories/AccessoryCheckoutController.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Accessories/AccessoryCheckoutController.php b/app/Http/Controllers/Accessories/AccessoryCheckoutController.php index db41731dd..044f46497 100644 --- a/app/Http/Controllers/Accessories/AccessoryCheckoutController.php +++ b/app/Http/Controllers/Accessories/AccessoryCheckoutController.php @@ -78,9 +78,11 @@ class AccessoryCheckoutController extends Controller ]); $checkedout=DB::table('accessories_users')->where('accessory_id', '=', $accessory->id)->count(); - $available=DB::table('accessories')->where('id', '=', $accessory->id)->first('qty'); + $available= new Accessory(); - if($checkedout >= $available->qty){ + + + if($checkedout >= $available->numRemaining()){ return redirect()->route('accessories.index')->with('error', trans('admin/accessories/message.checkout.unavailable')); } From 3d7c55deb3425804c08bc2e44d5473389393fadd Mon Sep 17 00:00:00 2001 From: Godfrey M Date: Thu, 6 Apr 2023 13:06:05 -0700 Subject: [PATCH 3/3] removed an unncessary query --- .../Controllers/Accessories/AccessoryCheckoutController.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/Http/Controllers/Accessories/AccessoryCheckoutController.php b/app/Http/Controllers/Accessories/AccessoryCheckoutController.php index 044f46497..bbfc91b83 100644 --- a/app/Http/Controllers/Accessories/AccessoryCheckoutController.php +++ b/app/Http/Controllers/Accessories/AccessoryCheckoutController.php @@ -77,12 +77,11 @@ class AccessoryCheckoutController extends Controller 'note' => $request->input('note'), ]); - $checkedout=DB::table('accessories_users')->where('accessory_id', '=', $accessory->id)->count(); $available= new Accessory(); - if($checkedout >= $available->numRemaining()){ + if($available->numRemaining()<=0){ return redirect()->route('accessories.index')->with('error', trans('admin/accessories/message.checkout.unavailable')); }