From 7645f23f5c9de4c86a5e0d94baa207aa599dca1d Mon Sep 17 00:00:00 2001 From: Dampfklon Date: Sat, 17 Jul 2021 14:50:19 +0200 Subject: [PATCH] remove pending Acceptances on checkin --- .../Controllers/Assets/AssetCheckinController.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/app/Http/Controllers/Assets/AssetCheckinController.php b/app/Http/Controllers/Assets/AssetCheckinController.php index 2c34bc5c9c..80667c9cea 100644 --- a/app/Http/Controllers/Assets/AssetCheckinController.php +++ b/app/Http/Controllers/Assets/AssetCheckinController.php @@ -7,6 +7,8 @@ use App\Helpers\Helper; use App\Http\Controllers\Controller; use App\Http\Requests\AssetCheckinRequest; use App\Models\Asset; +use App\Models\CheckoutAcceptance; +use Illuminate\Database\Eloquent\Builder; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Redirect; use Illuminate\Support\Facades\View; @@ -109,6 +111,16 @@ class AssetCheckinController extends Controller $checkin_at = $request->input('checkin_at'); } + // Get all pending Acceptances for this asset and delete them + $acceptances = CheckoutAcceptance::pending()->whereHasMorph('checkoutable', + [Asset::class], + function (Builder $query) use ($asset) { + $query->where('id', $asset->id); + })->get(); + $acceptances->map(function($acceptance) { + $acceptance->delete(); + }); + // Was the asset updated? if ($asset->save()) { event(new CheckoutableCheckedIn($asset, $target, Auth::user(), $request->input('note'), $checkin_at));