/** * @param BudgetRepositoryInterface $repository * * @return View */ public function noBudget(BudgetRepositoryInterface $repository) { /** @var Carbon $start */ $start = session('start', Carbon::now()->startOfMonth()); /** @var Carbon $end */ $end = session('end', Carbon::now()->endOfMonth()); $page = intval(Input::get('page')) == 0 ? 1 : intval(Input::get('page')); $pageSize = Preferences::get('transactionPageSize', 50)->data; $offset = ($page - 1) * $pageSize; $journals = $repository->journalsInPeriodWithoutBudget(new Collection(), $start, $end); $count = $journals->count(); $journals = $journals->slice($offset, $pageSize); $list = new LengthAwarePaginator($journals, $count, $pageSize); $subTitle = trans('firefly.without_budget_between', ['start' => $start->formatLocalized($this->monthAndDayFormat), 'end' => $end->formatLocalized($this->monthAndDayFormat)]); $list->setPath('/budgets/list/noBudget'); return view('budgets.noBudget', compact('list', 'subTitle')); }
/** * @param BudgetRepositoryInterface $repository * @param Carbon $start * @param Carbon $end * * @return array */ private function spentInPeriodWithout(BudgetRepositoryInterface $repository, Carbon $start, Carbon $end) : array { $list = $repository->journalsInPeriodWithoutBudget(new Collection(), $start, $end); $sum = '0'; /** @var TransactionJournal $entry */ foreach ($list as $entry) { $sum = bcadd(TransactionJournal::amount($entry), $sum); } return [trans('firefly.no_budget'), '0', '0', $sum, '0', '0']; }