diff --git a/app/Http/Controllers/Assets/AssetCheckinController.php b/app/Http/Controllers/Assets/AssetCheckinController.php index 62e8e59ca8e1..38dfdab79ed0 100644 --- a/app/Http/Controllers/Assets/AssetCheckinController.php +++ b/app/Http/Controllers/Assets/AssetCheckinController.php @@ -15,6 +15,7 @@ use \Illuminate\Contracts\View\View; use \Illuminate\Http\RedirectResponse; use Illuminate\Support\Facades\Validator; +use Gate; class AssetCheckinController extends Controller { @@ -152,7 +153,14 @@ function (Builder $query) use ($asset) { if ($asset->save()) { + if(Gate::allows('audit',Asset::class)) { + if ($request->filled('log_audit') == "1") { + $asset->logAudit($request->input('note'), $request->input('location_id')); + } + } + event(new CheckoutableCheckedIn($asset, $target, auth()->user(), $request->input('note'), $checkin_at, $originalValues)); + return Helper::getRedirectOption($request, $asset->id, 'Assets') ->with('success', trans('admin/hardware/message.checkin.success')); } diff --git a/app/Http/Controllers/Assets/AssetCheckoutController.php b/app/Http/Controllers/Assets/AssetCheckoutController.php index 0ea9b3641890..8e35ed12556a 100644 --- a/app/Http/Controllers/Assets/AssetCheckoutController.php +++ b/app/Http/Controllers/Assets/AssetCheckoutController.php @@ -8,11 +8,13 @@ use App\Http\Controllers\Controller; use App\Http\Requests\AssetCheckoutRequest; use App\Models\Asset; +use App\Http\Controllers\Assets\AssetsController; use Illuminate\Database\Eloquent\ModelNotFoundException; use Illuminate\Support\Facades\Session; use \Illuminate\Contracts\View\View; use \Illuminate\Http\RedirectResponse; use Illuminate\Support\Facades\Validator; +use Gate; class AssetCheckoutController extends Controller { @@ -123,6 +125,13 @@ public function store(AssetCheckoutRequest $request, $assetId) : RedirectRespons session()->put(['redirect_option' => $request->get('redirect_option'), 'checkout_to_type' => $request->get('checkout_to_type')]); if ($asset->checkOut($target, $admin, $checkout_at, $expected_checkin, $request->get('note'), $request->get('name'))) { + + if(Gate::allows('audit',Asset::class)) { + if ($request->filled('log_audit') == "1") { + $asset->logAudit($request->input('note'), $request->input('location_id')); + } + } + return Helper::getRedirectOption($request, $asset->id, 'Assets') ->with('success', trans('admin/hardware/message.checkout.success')); } diff --git a/resources/lang/en-US/admin/settings/general.php b/resources/lang/en-US/admin/settings/general.php index 4e8143a5174a..588724ee3e88 100644 --- a/resources/lang/en-US/admin/settings/general.php +++ b/resources/lang/en-US/admin/settings/general.php @@ -291,6 +291,8 @@ 'require_accept_signature_help_text' => 'Enabling this feature will require users to physically sign off on accepting an asset.', 'require_checkinout_notes' => 'Require Notes on Checkin/Checkout', 'require_checkinout_notes_help_text' => 'Enabling this feature will require the note fields to be populated when checking in or checking out an asset.', + 'log_audit' => 'Log an audit', + 'log_audit_help_text' => 'Enabling this feature will also log an audit in addition to this', 'left' => 'left', 'right' => 'right', 'top' => 'top', diff --git a/resources/views/hardware/checkin.blade.php b/resources/views/hardware/checkin.blade.php index 287f47c074d1..5a5abbfc67c1 100755 --- a/resources/views/hardware/checkin.blade.php +++ b/resources/views/hardware/checkin.blade.php @@ -151,14 +151,31 @@ + + @can('audit', \App\Models\Asset::class) +
+
+ +
+
+ +

{{ trans('admin/settings/general.log_audit_help_text') . " " . trans('general.checkin') . "." }}

+
+
+ @endcan + + @include("models/custom_fields_form", [ 'model' => $asset->model, 'show_custom_fields_type' => 'checkin' ]) - - @@ -175,7 +192,6 @@ - @stop diff --git a/resources/views/hardware/checkout.blade.php b/resources/views/hardware/checkout.blade.php index 7691e9233ec7..8b23077cdada 100755 --- a/resources/views/hardware/checkout.blade.php +++ b/resources/views/hardware/checkout.blade.php @@ -152,7 +152,25 @@ {!! $errors->first('note', '') !!} - + + + @can('audit', \App\Models\Asset::class) +
+
+ +
+
+ +

{{ trans('admin/settings/general.log_audit_help_text') . " " . trans('general.checkout') . "." }}

+
+
+ @endcan + @include("models/custom_fields_form", [ 'model' => $asset->model, @@ -222,4 +240,53 @@ @section('moar_scripts') @include('partials/assets-assigned') + + + + + + @stop