From ff0379182ee3a8ef455a1a81d0c018d4e85fabb7 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 21 May 2015 18:57:14 +0200 Subject: [PATCH] Sort chart [skip ci] --- app/Http/Controllers/Chart/CategoryController.php | 13 +++++++++++++ app/Repositories/Category/CategoryRepository.php | 4 ++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Chart/CategoryController.php b/app/Http/Controllers/Chart/CategoryController.php index 0ce466bf44..b067803f0b 100644 --- a/app/Http/Controllers/Chart/CategoryController.php +++ b/app/Http/Controllers/Chart/CategoryController.php @@ -79,6 +79,19 @@ class CategoryController extends Controller $end = Session::get('end', Carbon::now()->endOfMonth()); $set = $repository->getCategoriesAndExpensesCorrected($start, $end); + // sort by callback: + uasort( + $set, + function ($left, $right) { + if ($left['sum'] == $right['sum']) { + return 0; + } + + return ($left['sum'] < $right['sum']) ? 1 : -1; + } + ); + + foreach ($set as $entry) { $sum = floatval($entry['sum']); if ($sum != 0) { diff --git a/app/Repositories/Category/CategoryRepository.php b/app/Repositories/Category/CategoryRepository.php index 3f75bdab52..55963029bf 100644 --- a/app/Repositories/Category/CategoryRepository.php +++ b/app/Repositories/Category/CategoryRepository.php @@ -113,14 +113,14 @@ class CategoryRepository implements CategoryRepositoryInterface foreach ($set as $entry) { $categoryId = intval($entry->category_id); if (isset($result[$categoryId])) { - $result[$categoryId]['sum'] += $entry->amount; + $result[$categoryId]['sum'] += floatval($entry->amount); } else { $isEncrypted = intval($entry->category_encrypted) == 1 ? true : false; $name = strlen($entry->name) == 0 ? trans('firefly.noCategory') : $entry->name; $name = $isEncrypted ? Crypt::decrypt($name) : $name; $result[$categoryId] = [ 'name' => $name, - 'sum' => $entry->amount, + 'sum' => floatval($entry->amount), ]; }