diff --git a/app/Helpers/Helper.php b/app/Helpers/Helper.php index d77f41b01f..d97869d701 100644 --- a/app/Helpers/Helper.php +++ b/app/Helpers/Helper.php @@ -1490,22 +1490,24 @@ class Helper $redirect_option = Session::get('redirect_option'); $checkout_to_type = Session::get('checkout_to_type'); - //return to index - if ($redirect_option == '0') { + // return to index + if ($redirect_option == 'index') { switch ($table) { case "Assets": return redirect()->route('hardware.index')->with('success', trans('admin/hardware/message.checkout.success')); } } - //return to thing being assigned - if ($redirect_option == '1') { + + // return to thing being assigned + if ($redirect_option == 'item') { switch ($table) { case "Assets": return redirect()->route('hardware.show', $id ? $id : $asset_id)->with('success', trans('admin/hardware/message.checkout.success')); } } - //return to thing being assigned to - if ($redirect_option == '2') { + + // return to assignment target + if ($redirect_option == 'target') { switch ($checkout_to_type) { case 'user': return redirect()->route('users.show', $request->assigned_user)->with('success', trans('admin/hardware/message.checkout.success')); diff --git a/app/Http/Controllers/Assets/AssetsController.php b/app/Http/Controllers/Assets/AssetsController.php index 8fecff7e12..c418866b33 100755 --- a/app/Http/Controllers/Assets/AssetsController.php +++ b/app/Http/Controllers/Assets/AssetsController.php @@ -23,6 +23,7 @@ use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Gate; use Illuminate\Http\Request; use Illuminate\Support\Facades\Crypt; +use Illuminate\Support\Facades\Session; use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Validator; use League\Csv\Reader; @@ -204,6 +205,8 @@ class AssetsController extends Controller } } + session()->put(['redirect_option' => $request->get('redirect_option'), 'checkout_to_type' => $request->get('checkout_to_type')]); + if ($success) { return redirect()->route('hardware.index') ->with('success-unescaped', trans('admin/hardware/message.create.success_linked', ['link' => route('hardware.show', ['hardware' => $asset->id]), 'id', 'tag' => e($asset->asset_tag)])); @@ -289,6 +292,8 @@ class AssetsController extends Controller */ public function update(ImageUploadRequest $request, $assetId = null) : RedirectResponse { + + // Check if the asset exists if (! $asset = Asset::find($assetId)) { // Redirect to the asset management page with error @@ -387,10 +392,10 @@ class AssetsController extends Controller } } + session()->put(['redirect_option' => $request->get('redirect_option'), 'checkout_to_type' => $request->get('checkout_to_type')]); if ($asset->save()) { - return redirect()->route('hardware.show', $assetId) - ->with('success', trans('admin/hardware/message.update.success')); + return Helper::getRedirectOption($request, $assetId, 'Assets'); } return redirect()->back()->withInput()->withErrors($asset->getErrors()); diff --git a/resources/views/blade/redirect_submit_options.blade.php b/resources/views/blade/redirect_submit_options.blade.php new file mode 100644 index 0000000000..7771d25c4c --- /dev/null +++ b/resources/views/blade/redirect_submit_options.blade.php @@ -0,0 +1,38 @@ + +@props([ + 'route' => 'hardware.index', + 'button_label', + 'disabled_select' => false, + 'options' => [], +]) + +
+ \ No newline at end of file diff --git a/resources/views/hardware/checkin.blade.php b/resources/views/hardware/checkin.blade.php index 7b52cf8614..691c048526 100755 --- a/resources/views/hardware/checkin.blade.php +++ b/resources/views/hardware/checkin.blade.php @@ -2,132 +2,144 @@ {{-- Page title --}} @section('title') - {{ trans('admin/hardware/general.checkin') }} - @parent + {{ trans('admin/hardware/general.checkin') }} + @parent @stop {{-- Page content --}} @section('content') - + .input-group { + padding-left: 0px !important; + } + -