diff --git a/app/Http/Controllers/Api/AssetsController.php b/app/Http/Controllers/Api/AssetsController.php index 7386679554..033e4e882b 100644 --- a/app/Http/Controllers/Api/AssetsController.php +++ b/app/Http/Controllers/Api/AssetsController.php @@ -84,12 +84,20 @@ class AssetsController extends Controller $assets->TextSearch($request->input('search')); } + if ($request->has('model_id')) { + $assets->InModelList([$request->input('model_id')]); + } + + if ($request->has('category_id')) { + $assets->InCategory($request->input('category_id')); + } + $request->has('order_number') ? $assets = $assets->where('order_number', '=', e($request->get('order_number'))) : ''; $offset = request('offset', 0); $limit = $request->input('limit', 50); $order = $request->input('order') === 'asc' ? 'asc' : 'desc'; - $sort = in_array($request->input('sort'), $allowed_columns) ? $request->input('sort') : 'created_at'; + $sort = in_array($request->input('sort'), $allowed_columns) ? $request->input('sort') : 'assets.created_at'; $assets->orderBy($sort, $order); switch ($status) { diff --git a/app/Models/Asset.php b/app/Models/Asset.php index ad0bc1c50d..e403623784 100644 --- a/app/Models/Asset.php +++ b/app/Models/Asset.php @@ -465,9 +465,9 @@ class Asset extends Depreciable /** * Query builder scope for hardware * - * @param Illuminate\Database\Query\Builder $query Query builder instance + * @param \Illuminate\Database\Query\Builder $query Query builder instance * - * @return Illuminate\Database\Query\Builder Modified query builder + * @return \Illuminate\Database\Query\Builder Modified query builder */ public function scopeHardware($query) @@ -479,9 +479,9 @@ class Asset extends Depreciable /** * Query builder scope for pending assets * - * @param Illuminate\Database\Query\Builder $query Query builder instance + * @param \Illuminate\Database\Query\Builder $query Query builder instance * - * @return Illuminate\Database\Query\Builder Modified query builder + * @return \Illuminate\Database\Query\Builder Modified query builder */ public function scopePending($query) @@ -499,9 +499,9 @@ class Asset extends Depreciable /** * Query builder scope for pending assets * - * @param Illuminate\Database\Query\Builder $query Query builder instance + * @param \Illuminate\Database\Query\Builder $query Query builder instance * - * @return Illuminate\Database\Query\Builder Modified query builder + * @return \Illuminate\Database\Query\Builder Modified query builder */ public function scopeAssetsByLocation($query, $location) @@ -523,9 +523,9 @@ class Asset extends Depreciable /** * Query builder scope for RTD assets * - * @param Illuminate\Database\Query\Builder $query Query builder instance + * @param \Illuminate\Database\Query\Builder $query Query builder instance * - * @return Illuminate\Database\Query\Builder Modified query builder + * @return \Illuminate\Database\Query\Builder Modified query builder */ public function scopeRTD($query) @@ -543,9 +543,9 @@ class Asset extends Depreciable /** * Query builder scope for Undeployable assets * - * @param Illuminate\Database\Query\Builder $query Query builder instance + * @param \Illuminate\Database\Query\Builder $query Query builder instance * - * @return Illuminate\Database\Query\Builder Modified query builder + * @return \Illuminate\Database\Query\Builder Modified query builder */ public function scopeUndeployable($query) @@ -562,9 +562,9 @@ class Asset extends Depreciable /** * Query builder scope for non-Archived assets * - * @param Illuminate\Database\Query\Builder $query Query builder instance + * @param \Illuminate\Database\Query\Builder $query Query builder instance * - * @return Illuminate\Database\Query\Builder Modified query builder + * @return \Illuminate\Database\Query\Builder Modified query builder */ public function scopeNotArchived($query) @@ -579,9 +579,9 @@ class Asset extends Depreciable /** * Query builder scope for Archived assets * - * @param Illuminate\Database\Query\Builder $query Query builder instance + * @param \Illuminate\Database\Query\Builder $query Query builder instance * - * @return Illuminate\Database\Query\Builder Modified query builder + * @return \Illuminate\Database\Query\Builder Modified query builder */ public function scopeArchived($query) @@ -598,9 +598,9 @@ class Asset extends Depreciable /** * Query builder scope for Deployed assets * - * @param Illuminate\Database\Query\Builder $query Query builder instance + * @param \Illuminate\Database\Query\Builder $query Query builder instance * - * @return Illuminate\Database\Query\Builder Modified query builder + * @return \Illuminate\Database\Query\Builder Modified query builder */ public function scopeDeployed($query) @@ -612,9 +612,9 @@ class Asset extends Depreciable /** * Query builder scope for Requestable assets * - * @param Illuminate\Database\Query\Builder $query Query builder instance + * @param \Illuminate\Database\Query\Builder $query Query builder instance * - * @return Illuminate\Database\Query\Builder Modified query builder + * @return \Illuminate\Database\Query\Builder Modified query builder */ public function scopeRequestableAssets($query) @@ -633,9 +633,9 @@ class Asset extends Depreciable /** * Query builder scope for Deleted assets * - * @param Illuminate\Database\Query\Builder $query Query builder instance + * @param \Illuminate\Database\Query\Builder $query Query builder instance * - * @return Illuminate\Database\Query\Builder Modified query builder + * @return \Illuminate\Database\Query\Builder Modified query builder */ public function scopeDeleted($query) @@ -662,9 +662,9 @@ class Asset extends Depreciable /** * Query builder scope to get not-yet-accepted assets * - * @param Illuminate\Database\Query\Builder $query Query builder instance + * @param \Illuminate\Database\Query\Builder $query Query builder instance * - * @return Illuminate\Database\Query\Builder Modified query builder + * @return \Illuminate\Database\Query\Builder Modified query builder */ public function scopeNotYetAccepted($query) { @@ -674,9 +674,9 @@ class Asset extends Depreciable /** * Query builder scope to get rejected assets * - * @param Illuminate\Database\Query\Builder $query Query builder instance + * @param \Illuminate\Database\Query\Builder $query Query builder instance * - * @return Illuminate\Database\Query\Builder Modified query builder + * @return \Illuminate\Database\Query\Builder Modified query builder */ public function scopeRejected($query) { @@ -700,10 +700,10 @@ class Asset extends Depreciable /** * Query builder scope to search on text for complex Bootstrap Tables API * - * @param Illuminate\Database\Query\Builder $query Query builder instance + * @param \Illuminate\Database\Query\Builder $query Query builder instance * @param text $search Search term * - * @return Illuminate\Database\Query\Builder Modified query builder + * @return \Illuminate\Database\Query\Builder Modified query builder */ public function scopeTextSearch($query, $search) { @@ -765,10 +765,10 @@ class Asset extends Depreciable /** * Query builder scope to order on model * - * @param Illuminate\Database\Query\Builder $query Query builder instance + * @param \Illuminate\Database\Query\Builder $query Query builder instance * @param text $order Order * - * @return Illuminate\Database\Query\Builder Modified query builder + * @return \Illuminate\Database\Query\Builder Modified query builder */ public function scopeOrderModels($query, $order) { @@ -778,10 +778,10 @@ class Asset extends Depreciable /** * Query builder scope to order on model number * - * @param Illuminate\Database\Query\Builder $query Query builder instance + * @param \Illuminate\Database\Query\Builder $query Query builder instance * @param text $order Order * - * @return Illuminate\Database\Query\Builder Modified query builder + * @return \Illuminate\Database\Query\Builder Modified query builder */ public function scopeOrderModelNumber($query, $order) { @@ -792,10 +792,10 @@ class Asset extends Depreciable /** * Query builder scope to order on assigned user * - * @param Illuminate\Database\Query\Builder $query Query builder instance + * @param \Illuminate\Database\Query\Builder $query Query builder instance * @param text $order Order * - * @return Illuminate\Database\Query\Builder Modified query builder + * @return \Illuminate\Database\Query\Builder Modified query builder */ public function scopeOrderAssigned($query, $order) { @@ -805,10 +805,10 @@ class Asset extends Depreciable /** * Query builder scope to order on status * - * @param Illuminate\Database\Query\Builder $query Query builder instance + * @param \Illuminate\Database\Query\Builder $query Query builder instance * @param text $order Order * - * @return Illuminate\Database\Query\Builder Modified query builder + * @return \Illuminate\Database\Query\Builder Modified query builder */ public function scopeOrderStatus($query, $order) { @@ -818,24 +818,39 @@ class Asset extends Depreciable /** * Query builder scope to order on company * - * @param Illuminate\Database\Query\Builder $query Query builder instance + * @param \Illuminate\Database\Query\Builder $query Query builder instance * @param text $order Order * - * @return Illuminate\Database\Query\Builder Modified query builder + * @return \Illuminate\Database\Query\Builder Modified query builder */ public function scopeOrderCompany($query, $order) { return $query->leftJoin('companies', 'assets.company_id', '=', 'companies.id')->orderBy('companies.name', $order); } - /** - * Query builder scope to order on category - * - * @param Illuminate\Database\Query\Builder $query Query builder instance - * @param text $order Order - * - * @return Illuminate\Database\Query\Builder Modified query builder - */ + + /** + * Query builder scope to return results of a category + * + * @param \Illuminate\Database\Query\Builder $query Query builder instance + * @param text $order Order + * + * @return \Illuminate\Database\Query\Builder Modified query builder + */ + public function scopeInCategory($query, $category_id) + { + return $query->join('models', 'assets.model_id', '=', 'models.id') + ->join('categories', 'models.category_id', '=', 'categories.id')->where('models.category_id','=',$category_id); + } + + /** + * Query builder scope to order on category + * + * @param \Illuminate\Database\Query\Builder $query Query builder instance + * @param text $order Order + * + * @return \Illuminate\Database\Query\Builder Modified query builder + */ public function scopeOrderCategory($query, $order) { return $query->join('models', 'assets.model_id', '=', 'models.id') @@ -847,10 +862,10 @@ class Asset extends Depreciable /** * Query builder scope to order on manufacturer * - * @param Illuminate\Database\Query\Builder $query Query builder instance + * @param \Illuminate\Database\Query\Builder $query Query builder instance * @param text $order Order * - * @return Illuminate\Database\Query\Builder Modified query builder + * @return \Illuminate\Database\Query\Builder Modified query builder */ public function scopeOrderManufacturer($query, $order) { @@ -862,12 +877,10 @@ class Asset extends Depreciable /** * Query builder scope to order on location * - * @param Illuminate\Database\Query\Builder $query Query builder instance + * @param \Illuminate\Database\Query\Builder $query Query builder instance * @param text $order Order * - * @return Illuminate\Database\Query\Builder Modified query builder - * TODO: Extend this method out for checked out assets as well. Right now it - * only checks the location name related to rtd_location_id + * @return \Illuminate\Database\Query\Builder Modified query builder */ public function scopeOrderLocation($query, $order) { diff --git a/resources/views/categories/view.blade.php b/resources/views/categories/view.blade.php index 46ea31a828..36c965709d 100644 --- a/resources/views/categories/view.blade.php +++ b/resources/views/categories/view.blade.php @@ -30,11 +30,10 @@ name="category_assets" class="snipe-table" id="table" - data-url="{{ route('api.categories.'.$category->category_type.'.show', [$category->id, $category->category_type]) }}" + data-url="{{ ($category->category_type=='asset') ? route('api.assets.index',['category_id'=> $category->id]) : route('api'.$category->category_type.'index', ['category_id'=> $category->id]) }} data-cookie="true" data-click-to-select="true" - data-cookie-id-table="categoryAssetsTable" - > + data-cookie-id-table="categoryAssetsTable"> @@ -43,10 +42,10 @@ {{ trans('general.id') }} {{ trans('general.name') }} @if ($category->category_type=='asset') - {{ trans('admin/hardware/form.model') }} - {{ trans('general.asset_tag') }} - {{ trans('admin/hardware/form.serial') }} - {{ trans('general.user') }} + {{ trans('admin/hardware/form.model') }} + {{ trans('general.asset_tag') }} + {{ trans('admin/hardware/form.serial') }} + {{ trans('general.user') }} {{ trans('admin/hardware/table.change') }} @endif {{ trans('table.actions') }} diff --git a/resources/views/models/view.blade.php b/resources/views/models/view.blade.php index 727f8f6001..bfadda73f6 100755 --- a/resources/views/models/view.blade.php +++ b/resources/views/models/view.blade.php @@ -44,7 +44,7 @@ name="modelassets" id="table" class="snipe-table" - data-url="{{route('api.models.assets', $model->id)}}" + data-url="{{ route('api.assets.index',['model_id'=> $model->id]) }}" data-cookie="true" data-click-to-select="true" data-cookie-id-table="modeldetailsViewTable"> @@ -56,7 +56,7 @@ {{ trans('general.name') }} {{ trans('general.asset_tag') }} {{ trans('admin/hardware/table.serial') }} - {{ trans('general.user') }} + {{ trans('general.user') }} {{ trans('table.actions') }}