From 610af45dee9a6fd082d5d2fe8ec4f325d74e0f3b Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 2 Aug 2018 07:12:06 +0200 Subject: [PATCH] Experimental sort routine for list of accounts [skip ci] --- app/Http/Controllers/Account/IndexController.php | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/Account/IndexController.php b/app/Http/Controllers/Account/IndexController.php index 363a818cdc..f9d854c1aa 100644 --- a/app/Http/Controllers/Account/IndexController.php +++ b/app/Http/Controllers/Account/IndexController.php @@ -75,9 +75,18 @@ class IndexController extends Controller $types = config('firefly.accountTypesByIdentifier.' . $what); $collection = $this->repository->getAccountsByType($types); $total = $collection->count(); - $page = 0 === (int)$request->get('page') ? 1 : (int)$request->get('page'); - $pageSize = (int)app('preferences')->get('listPageSize', 50)->data; - $accounts = $collection->slice(($page - 1) * $pageSize, $pageSize); + + // sort collection: + $collection = $collection->sortBy( + function (Account $account) { + return ($account->active ? '1' : '0') . $account->name; + } + ); + + + $page = 0 === (int)$request->get('page') ? 1 : (int)$request->get('page'); + $pageSize = (int)app('preferences')->get('listPageSize', 50)->data; + $accounts = $collection->slice(($page - 1) * $pageSize, $pageSize); unset($collection); /** @var Carbon $start */ $start = clone session('start', Carbon::now()->startOfMonth());