diff --git a/app/Helpers/Report/BudgetReportHelper.php b/app/Helpers/Report/BudgetReportHelper.php index 1aa1c45711..9bfa5a46d9 100644 --- a/app/Helpers/Report/BudgetReportHelper.php +++ b/app/Helpers/Report/BudgetReportHelper.php @@ -47,6 +47,8 @@ class BudgetReportHelper implements BudgetReportHelperInterface } /** + * TODO the query called here must be moved to a repository. + * * @param Carbon $start * @param Carbon $end * @param Collection $accounts @@ -215,25 +217,29 @@ class BudgetReportHelper implements BudgetReportHelperInterface public function listOfPeriods(Carbon $start, Carbon $end): array { // define period to increment - $increment = 'addDay'; - $format = 'Y-m-d'; + $increment = 'addDay'; + $format = 'Y-m-d'; + $displayFormat = strval(trans('config.month_and_day')); // increment by month (for year) if ($start->diffInMonths($end) > 1) { - $increment = 'addMonth'; - $format = 'Y-m'; + $increment = 'addMonth'; + $format = 'Y-m'; + $displayFormat = strval(trans('config.month')); } // increment by year (for multi year) if ($start->diffInMonths($end) > 12) { - $increment = 'addYear'; - $format = 'Y'; + $increment = 'addYear'; + $format = 'Y'; + $displayFormat = strval(trans('config.year')); } $begin = clone $start; $entries = []; while ($begin < $end) { $formatted = $begin->format($format); - $entries[$formatted] = $formatted; + $displayed = $begin->formatLocalized($displayFormat); + $entries[$formatted] = $displayed; $begin->$increment(); } @@ -274,7 +280,8 @@ class BudgetReportHelper implements BudgetReportHelperInterface private function filterAllAmounts(Collection $set, int $budgetId, array $periods):array { $arr = []; - foreach ($periods as $period) { + $keys = array_keys($periods); + foreach ($keys as $period) { /** @var stdClass $object */ $result = $set->filter( function (TransactionJournal $object) use ($budgetId, $period) { diff --git a/app/Http/Controllers/Chart/BudgetController.php b/app/Http/Controllers/Chart/BudgetController.php index 43536e67cc..fbcc415869 100644 --- a/app/Http/Controllers/Chart/BudgetController.php +++ b/app/Http/Controllers/Chart/BudgetController.php @@ -186,6 +186,9 @@ class BudgetController extends Controller } /** + * + * TODO use the NEW query that will be in the repository. Because that query will be shared between the budget period report (table for all budgets) + * TODO and this chart (a single budget) * @param BudgetRepositoryInterface $repository * @param Budget $budget * @param Carbon $start @@ -196,6 +199,9 @@ class BudgetController extends Controller */ public function period(BudgetRepositoryInterface $repository, Budget $budget, Carbon $start, Carbon $end, Collection $accounts) { + + + // chart properties for cache: $cache = new CacheProperties(); $cache->addProperty($start); diff --git a/resources/views/reports/partials/budget-period.twig b/resources/views/reports/partials/budget-period.twig index 7c4b16cee4..e801a6e1b6 100644 --- a/resources/views/reports/partials/budget-period.twig +++ b/resources/views/reports/partials/budget-period.twig @@ -12,12 +12,7 @@ {% for id, info in budgets %} - ({{ info.name }}) - {% if id == 0 %} - {{ info.name }} - {% else %} - {{ info.name }} - {% endif %} + {{ info.name }} {% for amount in info.entries %}