diff --git a/app/Http/Controllers/Assets/AssetsController.php b/app/Http/Controllers/Assets/AssetsController.php index 0852a4624..2430cd00f 100755 --- a/app/Http/Controllers/Assets/AssetsController.php +++ b/app/Http/Controllers/Assets/AssetsController.php @@ -478,9 +478,16 @@ class AssetsController extends Controller $tag = $tag ? $tag : $request->get('assetTag'); $topsearch = ($request->get('topsearch') == 'true'); - if (! $asset = Asset::where('asset_tag', '=', $tag)->first()) { - return redirect()->route('hardware.index')->with('error', trans('admin/hardware/message.does_not_exist')); + // Search for an exact and unique asset tag match + $assets = Asset::where('asset_tag', '=', $tag); + + // If not a unique result, redirect to the index view + if ($assets->count() != 1) { + return redirect()->route('hardware.index') + ->with('search', $tag) + ->with('warning', trans('admin/hardware/message.does_not_exist_var', [ 'asset_tag' => $tag ])); } + $asset = $assets->first(); $this->authorize('view', $asset); return redirect()->route('hardware.show', $asset->id)->with('topsearch', $topsearch); diff --git a/resources/views/hardware/index.blade.php b/resources/views/hardware/index.blade.php index d30a1c012..85a82bd40 100755 --- a/resources/views/hardware/index.blade.php +++ b/resources/views/hardware/index.blade.php @@ -73,6 +73,7 @@ data-pagination="true" data-id-table="assetsListingTable" data-search="true" + data-search-text="{{ e(Session::get('search')) }}" data-side-pagination="server" data-show-columns="true" data-show-export="true"