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; + } + -
- -
-
-
-

- {{ trans('admin/hardware/form.tag') }} - {{ $asset->asset_tag }} -

-
+
+ +
+
+
+

+ {{ trans('admin/hardware/form.tag') }} + {{ $asset->asset_tag }} +

+
-
-
+
+
- @if ($backto == 'user') -
- @else - - @endif - {{csrf_field()}} + @if ($backto == 'user') + + @else + + @endif + {{csrf_field()}} - -
- -
+ +
+ +
-

- @if (($asset->model) && ($asset->model->name)) - {{ $asset->model->name }} - @else - +

+ @if (($asset->model) && ($asset->model->name)) + {{ $asset->model->name }} + @else + {{ trans('admin/hardware/general.model_invalid')}} - {{ trans('admin/hardware/general.model_invalid_fix')}} - - {{ trans('admin/hardware/general.edit') }} - - @endif -

+ {{ trans('admin/hardware/general.model_invalid_fix')}} + + {{ trans('admin/hardware/general.edit') }} + + @endif +

-
-
+
+
- -
- -
- - {!! $errors->first('name', '') !!} -
-
+ +
+ +
+ + {!! $errors->first('name', '') !!} +
+
- -
- -
- {{ Form::select('status_id', $statusLabel_list, '', array('class'=>'select2', 'style'=>'width:100%','id' =>'modal-statuslabel_types', 'aria-label'=>'status_id')) }} - {!! $errors->first('status_id', '') !!} -
-
+ +
+ +
+ {{ Form::select('status_id', $statusLabel_list, '', array('class'=>'select2', 'style'=>'width:100%','id' =>'modal-statuslabel_types', 'aria-label'=>'status_id')) }} + {!! $errors->first('status_id', '') !!} +
+
- @include ('partials.forms.edit.location-select', ['translated_name' => trans('general.location'), 'fieldname' => 'location_id', 'help_text' => ($asset->defaultLoc) ? trans('general.checkin_to_diff_location', ['default_location' => $asset->defaultLoc->name]) : null, 'hide_location_radio' => true]) + @include ('partials.forms.edit.location-select', ['translated_name' => trans('general.location'), 'fieldname' => 'location_id', 'help_text' => ($asset->defaultLoc) ? trans('general.checkin_to_diff_location', ['default_location' => $asset->defaultLoc->name]) : null, 'hide_location_radio' => true]) - -
- + +
+ -
-
-
- - -
- {!! $errors->first('checkin_at', '') !!} -
-
-
+
+
+
+ + +
+ {!! $errors->first('checkin_at', '') !!} +
+
+
- -
- -
- - {!! $errors->first('note', '') !!} -
-
+ +
+ +
+ + {!! $errors->first('note', '') !!} +
+
- @include ('partials.forms.redirect_submit_options', - [ - 'route' => 'hardware.index', - 'table_name' => $table_name, - 'type'=> ($asset->model ? $asset->model->name : trans('general.asset_model')), - 'checkin' => true - ]) - + + -
+
+
-
- @stop \ No newline at end of file diff --git a/resources/views/hardware/checkout.blade.php b/resources/views/hardware/checkout.blade.php index 4a1cdf5749..03bc8496bb 100755 --- a/resources/views/hardware/checkout.blade.php +++ b/resources/views/hardware/checkout.blade.php @@ -25,7 +25,7 @@

{{ trans('admin/hardware/form.tag') }} {{ $asset->asset_tag }}

- {{csrf_field()}} + {{csrf_field()}} @if ($asset->company && $asset->company->name)
- + {!! $errors->first('name', '') !!}
@@ -86,26 +87,30 @@
- @include ('partials.forms.checkout-selector', ['user_select' => 'true','asset_select' => 'true', 'location_select' => 'true']) + @include ('partials.forms.checkout-selector', ['user_select' => 'true','asset_select' => 'true', 'location_select' => 'true']) - @include ('partials.forms.edit.user-select', ['translated_name' => trans('general.user'), 'fieldname' => 'assigned_user', 'required'=>'true']) + @include ('partials.forms.edit.user-select', ['translated_name' => trans('general.user'), 'fieldname' => 'assigned_user', 'required'=>'true']) - - @include ('partials.forms.edit.asset-select', ['translated_name' => trans('general.asset'), 'fieldname' => 'assigned_asset', 'unselect' => 'true', 'style' => 'display:none;', 'required'=>'true']) + + @include ('partials.forms.edit.asset-select', ['translated_name' => trans('general.asset'), 'fieldname' => 'assigned_asset', 'unselect' => 'true', 'style' => 'display:none;', 'required'=>'true']) - @include ('partials.forms.edit.location-select', ['translated_name' => trans('general.location'), 'fieldname' => 'assigned_location', 'style' => 'display:none;', 'required'=>'true']) + @include ('partials.forms.edit.location-select', ['translated_name' => trans('general.location'), 'fieldname' => 'assigned_location', 'style' => 'display:none;', 'required'=>'true']) - +
-
- - +
+ +
{!! $errors->first('checkout_at', '') !!}
@@ -118,9 +123,13 @@
-
- - +
+ +
{!! $errors->first('expected_checkin', '') !!}
@@ -132,7 +141,8 @@ {{ trans('general.notes') }}
- + {!! $errors->first('note', '') !!}
@@ -164,13 +174,19 @@ @endif
- @include ('partials.forms.redirect_submit_options', - [ - 'route' => 'hardware.index', - 'table_name' => $table_name, - 'type'=> ($asset->model ? $asset->model->name : trans('general.asset_model')), - 'checkin' => false - ]) + + +
diff --git a/resources/views/hardware/edit.blade.php b/resources/views/hardware/edit.blade.php index 2a125a1c3f..22673aa5e9 100755 --- a/resources/views/hardware/edit.blade.php +++ b/resources/views/hardware/edit.blade.php @@ -6,6 +6,10 @@ 'helpText' => trans('help.assets'), 'helpPosition' => 'right', 'formAction' => ($item->id) ? route('hardware.update', ['hardware' => $item->id]) : route('hardware.store'), + 'options' => [ + 'index' => trans('admin/hardware/form.redirect_to_all', ['type' => 'assets']), + 'item' => trans('admin/hardware/form.redirect_to_type', ['type' => trans('general.asset')]), + ] ]) @@ -130,8 +134,6 @@ - -
diff --git a/resources/views/layouts/edit-form.blade.php b/resources/views/layouts/edit-form.blade.php index 791590141c..2a24db27fe 100644 --- a/resources/views/layouts/edit-form.blade.php +++ b/resources/views/layouts/edit-form.blade.php @@ -66,7 +66,11 @@ {{ csrf_field() }} @yield('inputFields') - @include('partials.forms.edit.submit') +
diff --git a/resources/views/partials/forms/redirect_submit_options.blade.php b/resources/views/partials/forms/redirect_submit_options.blade.php deleted file mode 100644 index c960dbb860..0000000000 --- a/resources/views/partials/forms/redirect_submit_options.blade.php +++ /dev/null @@ -1,36 +0,0 @@ - - - - \ No newline at end of file