diff --git a/app/Helpers/Helper.php b/app/Helpers/Helper.php index cbbef02e42..eb4c8ed81d 100644 --- a/app/Helpers/Helper.php +++ b/app/Helpers/Helper.php @@ -1461,8 +1461,9 @@ class Helper } - static public function getRedirectOption($request, $id, $table) + static public function getRedirectOption($request, $id, $table, $asset_id = null) { + $redirect_option = Session::get('redirect_option'); $checkout_to_type = Session::get('checkout_to_type'); @@ -1477,7 +1478,7 @@ class Helper if ($redirect_option == '1') { switch ($table) { case "Assets": - return redirect()->route('hardware.show', $id)->with('success', trans('admin/hardware/message.checkout.success')); + return redirect()->route('hardware.show', $id ? $id : $asset_id)->with('success', trans('admin/hardware/message.checkout.success')); } } //return to thing being assigned to diff --git a/app/Http/Controllers/Assets/AssetCheckinController.php b/app/Http/Controllers/Assets/AssetCheckinController.php index 0be355c7a4..6de856e7f9 100644 --- a/app/Http/Controllers/Assets/AssetCheckinController.php +++ b/app/Http/Controllers/Assets/AssetCheckinController.php @@ -13,6 +13,7 @@ use App\Models\LicenseSeat; use Illuminate\Database\Eloquent\Builder; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Redirect; +use Illuminate\Support\Facades\Session; use Illuminate\Support\Facades\View; class AssetCheckinController extends Controller @@ -122,10 +123,12 @@ class AssetCheckinController extends Controller $acceptance->delete(); }); + Session::put('redirect_option', $request->get('redirect_option')); // Was the asset updated? if ($asset->save()) { + event(new CheckoutableCheckedIn($asset, $target, Auth::user(), $request->input('note'), $checkin_at, $originalValues)); - return Helper::getRedirectOption($request, $assetId); + return Helper::getRedirectOption($asset, $assetId, 'Assets'); } // Redirect to the asset management page with error return redirect()->route('hardware.index')->with('error', trans('admin/hardware/message.checkin.error').$asset->getErrors()); diff --git a/app/Http/Controllers/Assets/AssetCheckoutController.php b/app/Http/Controllers/Assets/AssetCheckoutController.php index 8e54474a4d..8531a99eab 100644 --- a/app/Http/Controllers/Assets/AssetCheckoutController.php +++ b/app/Http/Controllers/Assets/AssetCheckoutController.php @@ -99,13 +99,11 @@ class AssetCheckoutController extends Controller return redirect()->to("hardware/$assetId/checkout")->with('error', trans('general.error_user_company')); } } - $redirect_option = $request->get('redirect_option'); - if($redirect_option != Session::get('redirect_option')) { - Session::put(['redirect_option' => $redirect_option, 'checkout_to_type' => $request->get('checkout_to_type')]); - } + + 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'))) { - return Helper::getRedirectOption($request, $assetId); + return Helper::getRedirectOption($request, $assetId, 'Assets'); } // Redirect to the asset management page with error return redirect()->to("hardware/$assetId/checkout")->with('error', trans('admin/hardware/message.checkout.error').$asset->getErrors()); diff --git a/resources/views/partials/forms/redirect_submit_options.blade.php b/resources/views/partials/forms/redirect_submit_options.blade.php index 2b67540c56..dd5134e7ad 100644 --- a/resources/views/partials/forms/redirect_submit_options.blade.php +++ b/resources/views/partials/forms/redirect_submit_options.blade.php @@ -1,11 +1,11 @@ \ No newline at end of file