diff --git a/app/Http/Controllers/Assets/AssetCheckinController.php b/app/Http/Controllers/Assets/AssetCheckinController.php index 80667c9cea..e1a30b30cc 100644 --- a/app/Http/Controllers/Assets/AssetCheckinController.php +++ b/app/Http/Controllers/Assets/AssetCheckinController.php @@ -111,6 +111,13 @@ class AssetCheckinController extends Controller $checkin_at = $request->input('checkin_at'); } + if(!empty($asset->licenseseats->all())){ + foreach ($asset->licenseseats as $seat){ + $seat->assigned_to = null; + $seat->save(); + } + } + // Get all pending Acceptances for this asset and delete them $acceptances = CheckoutAcceptance::pending()->whereHasMorph('checkoutable', [Asset::class], diff --git a/app/Http/Controllers/Assets/AssetCheckoutController.php b/app/Http/Controllers/Assets/AssetCheckoutController.php index dc4ea8fb50..38f7460986 100644 --- a/app/Http/Controllers/Assets/AssetCheckoutController.php +++ b/app/Http/Controllers/Assets/AssetCheckoutController.php @@ -80,6 +80,15 @@ class AssetCheckoutController extends Controller $asset->status_id = $request->get('status_id'); } + if(!empty($asset->licenseseats->all())){ + if(request('checkout_to_type') == 'user') { + foreach ($asset->licenseseats as $seat){ + $seat->assigned_to = $target->id; + $seat->save(); + } + } + } + if ($asset->checkOut($target, $admin, $checkout_at, $expected_checkin, e($request->get('note')), $request->get('name'))) { return redirect()->route('hardware.index')->with('success', trans('admin/hardware/message.checkout.success')); }