From 54000ff69fd367cd6883fa10863d7d387b290893 Mon Sep 17 00:00:00 2001 From: snipe Date: Thu, 19 Oct 2017 11:48:09 -0700 Subject: [PATCH] Allows sorting by number of assets, etc in category --- app/Http/Controllers/Api/CategoriesController.php | 4 ++-- app/Presenters/CategoryPresenter.php | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/Http/Controllers/Api/CategoriesController.php b/app/Http/Controllers/Api/CategoriesController.php index 82f34754ad..58f6dd0a14 100644 --- a/app/Http/Controllers/Api/CategoriesController.php +++ b/app/Http/Controllers/Api/CategoriesController.php @@ -20,7 +20,7 @@ class CategoriesController extends Controller public function index(Request $request) { $this->authorize('view', Category::class); - $allowed_columns = ['id', 'name','category_type','use_default_eula','eula_text', 'require_acceptance','checkin_email']; + $allowed_columns = ['id', 'name','category_type','use_default_eula','eula_text', 'require_acceptance','checkin_email', 'assets_count', 'accessories_count', 'consumables_count', 'components_count']; $categories = Category::select(['id', 'created_at', 'updated_at', 'name','category_type','use_default_eula','eula_text', 'require_acceptance','checkin_email']) ->withCount('assets', 'accessories', 'consumables', 'components'); @@ -32,7 +32,7 @@ class CategoriesController extends Controller $offset = $request->input('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_count'; $categories->orderBy($sort, $order); $total = $categories->count(); diff --git a/app/Presenters/CategoryPresenter.php b/app/Presenters/CategoryPresenter.php index 75a9845dd8..42303f8e43 100644 --- a/app/Presenters/CategoryPresenter.php +++ b/app/Presenters/CategoryPresenter.php @@ -41,25 +41,25 @@ class CategoryPresenter extends Presenter ], [ "field" => "assets_count", "searchable" => false, - "sortable" => false, + "sortable" => true, "title" => trans('general.assets'), "visible" => true ], [ "field" => "accessories_count", "searchable" => false, - "sortable" => false, + "sortable" => true, "title" => trans('general.accessories'), "visible" => true ], [ "field" => "consumables_count", "searchable" => false, - "sortable" => false, + "sortable" => true, "title" => trans('general.consumables'), "visible" => true ], [ "field" => "components_count", "searchable" => false, - "sortable" => false, + "sortable" => true, "title" => trans('general.components'), "visible" => true ], [