diff --git a/app/Generator/Chart/Category/CategoryChartGenerator.php b/app/Generator/Chart/Category/CategoryChartGenerator.php index f595fcf541..77e8880afa 100644 --- a/app/Generator/Chart/Category/CategoryChartGenerator.php +++ b/app/Generator/Chart/Category/CategoryChartGenerator.php @@ -54,5 +54,5 @@ interface CategoryChartGenerator * * @return array */ - public function spentInYear(Collection $categories, Collection $entries); + public function spentInPeriod(Collection $categories, Collection $entries); } diff --git a/app/Generator/Chart/Category/ChartJsCategoryChartGenerator.php b/app/Generator/Chart/Category/ChartJsCategoryChartGenerator.php index f876559eeb..8a2ed404c0 100644 --- a/app/Generator/Chart/Category/ChartJsCategoryChartGenerator.php +++ b/app/Generator/Chart/Category/ChartJsCategoryChartGenerator.php @@ -159,39 +159,6 @@ class ChartJsCategoryChartGenerator implements CategoryChartGenerator } - /** - * @param Collection $categories - * @param Collection $entries - * - * @return array - */ - public function spentInYear(Collection $categories, Collection $entries) - { - - // language: - $format = trans('config.month'); - - $data = [ - 'count' => 0, - 'labels' => [], - 'datasets' => [], - ]; - - foreach ($categories as $category) { - $data['labels'][] = $category->name; - } - - foreach ($entries as $entry) { - $date = $entry[0]->formatLocalized($format); - array_shift($entry); - $data['count']++; - $data['datasets'][] = ['label' => $date, 'data' => $entry]; - } - - return $data; - - } - /** * @param Collection $categories * @param Collection $entries diff --git a/app/Http/Controllers/Chart/AccountController.php b/app/Http/Controllers/Chart/AccountController.php index 62d44002db..5048553403 100644 --- a/app/Http/Controllers/Chart/AccountController.php +++ b/app/Http/Controllers/Chart/AccountController.php @@ -36,7 +36,7 @@ class AccountController extends Controller /** * Shows the balances for a given set of dates and accounts. - * + * * @param $report_type * @param Carbon $start * @param Carbon $end diff --git a/app/Http/Controllers/Chart/CategoryController.php b/app/Http/Controllers/Chart/CategoryController.php index c12be90a40..7d685a9cc4 100644 --- a/app/Http/Controllers/Chart/CategoryController.php +++ b/app/Http/Controllers/Chart/CategoryController.php @@ -287,66 +287,6 @@ class CategoryController extends Controller } - /** - * This chart will only show expenses. - * - * @param CategoryRepositoryInterface $repository - * @param $report_type - * @param Carbon $start - * @param Carbon $end - * @param Collection $accounts - * - * @return \Illuminate\Http\JsonResponse - */ - public function spentInYear(CategoryRepositoryInterface $repository, $report_type, Carbon $start, Carbon $end, Collection $accounts) - { - - $cache = new CacheProperties; // chart properties for cache: - $cache->addProperty($start); - $cache->addProperty($report_type); - $cache->addProperty($end); - $cache->addProperty($accounts); - $cache->addProperty('category'); - $cache->addProperty('spent-in-year'); - if ($cache->has()) { - return Response::json($cache->get()); // @codeCoverageIgnore - } - - $allCategories = $repository->getCategories(); - $entries = new Collection; - $categories = $allCategories->filter( - function (Category $category) use ($repository, $start, $end, $accounts) { - $spent = $repository->balanceInPeriod($category, $start, $end, $accounts); - if ($spent < 0) { - return $category; - } - - return null; - } - ); - - while ($start < $end) { - $month = clone $start; // month is the current end of the period - $month->endOfMonth(); - $row = [clone $start]; // make a row: - - foreach ($categories as $category) { // each budget, fill the row - $spent = $repository->balanceInPeriod($category, $start, $month, $accounts); - if ($spent < 0) { - $row[] = $spent * -1; - } else { - $row[] = 0; - } - } - $entries->push($row); - $start->addMonth(); - } - $data = $this->generator->spentInYear($categories, $entries); - $cache->store($data); - - return Response::json($data); - } - /** * Returns a chart of what has been earned in this period in each category * grouped by month.