Clean up code.

This commit is contained in:
James Cole
2015-12-28 07:38:02 +01:00
parent a34516932b
commit 52a0d7cf7b
4 changed files with 2 additions and 95 deletions

View File

@@ -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

View File

@@ -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.