From 9d94bd656713e074fb0cf97dfc2cdb6a08132e70 Mon Sep 17 00:00:00 2001 From: Ivan Nieto Vivanco Date: Mon, 27 Feb 2023 18:57:38 -0600 Subject: [PATCH 1/2] Validate if the license seat is not checked out, it can't be checked in --- app/Http/Controllers/Licenses/LicenseCheckinController.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/Http/Controllers/Licenses/LicenseCheckinController.php b/app/Http/Controllers/Licenses/LicenseCheckinController.php index d585e6714..a34de73d7 100644 --- a/app/Http/Controllers/Licenses/LicenseCheckinController.php +++ b/app/Http/Controllers/Licenses/LicenseCheckinController.php @@ -59,6 +59,12 @@ class LicenseCheckinController extends Controller } $license = License::find($licenseSeat->license_id); + + // LicenseSeat is not assigned, it can't be checked in + if (is_null($licenseSeat->assignedTo) && is_null($licenseSeat->asset_id)) { + return redirect()->route('licenses.index')->with('error', trans('admin/licenses/message.checkin.error')); + } + $this->authorize('checkout', $license); if (! $license->reassignable) { From 0d860c0b72b5111d46ca3bcd00579ceab854d3e3 Mon Sep 17 00:00:00 2001 From: Ivan Nieto Vivanco Date: Mon, 27 Feb 2023 19:01:37 -0600 Subject: [PATCH 2/2] Check if target is not null to retrieve the proper data --- app/Models/Loggable.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/Models/Loggable.php b/app/Models/Loggable.php index 53ff279a0..d0bbd1073 100644 --- a/app/Models/Loggable.php +++ b/app/Models/Loggable.php @@ -93,8 +93,12 @@ trait Loggable { $settings = Setting::getSettings(); $log = new Actionlog; - $log->target_type = get_class($target); - $log->target_id = $target->id; + + if($target != null){ + $log->target_type = get_class($target); + $log->target_id = $target->id; + + } if (static::class == LicenseSeat::class) { $log->item_type = License::class;