This is a partial fix for issue #151. It does not filter on account selection.

This commit is contained in:
James Cole
2016-02-24 17:37:08 +01:00
parent 8e42e71528
commit ecefcfabc0
4 changed files with 18 additions and 15 deletions

View File

@@ -193,7 +193,7 @@ class BudgetController extends Controller
/** @var Carbon $start */ /** @var Carbon $start */
$start = session('start', Carbon::now()->startOfMonth()); $start = session('start', Carbon::now()->startOfMonth());
/** @var Carbon $end */ /** @var Carbon $end */
$end = session('end', Carbon::now()->endOfMonth()); $end = session('end', Carbon::now()->endOfMonth());
$list = $repository->getWithoutBudget($start, $end); $list = $repository->getWithoutBudget($start, $end);
$subTitle = trans( $subTitle = trans(

View File

@@ -259,21 +259,24 @@ class BudgetController extends Controller
$currentEnd = clone $currentStart; $currentEnd = clone $currentStart;
$currentEnd->endOfYear(); $currentEnd->endOfYear();
// save to array: // basic information:
$year = $currentStart->year; $year = $currentStart->year;
$entry['name'] = $budget->name; $entry['name'] = $budget->name ?? (string)trans('firefly.noBudget');
$spent = 0; $spent = 0;
$budgeted = 0; // this might be a good moment to collect no budget stuff.
if (isset($set[$id]['entries'][$year])) { if (is_null($budget->id)) {
$spent = $set[$id]['entries'][$year] * -1; // get without budget sum in range:
} $spent = $repository->getWithoutBudgetSum($currentStart, $currentEnd) * -1;
} else {
if (isset($budgetedArray[$id][$year])) { if (isset($set[$id]['entries'][$year])) {
$budgeted = round($budgetedArray[$id][$year], 2); $spent = $set[$id]['entries'][$year] * -1;
}
} }
$budgeted = $budgetedArray[$id][$year] ?? '0';
$entry['spent'][$year] = $spent; $entry['spent'][$year] = $spent;
$entry['budgeted'][$year] = $budgeted; $entry['budgeted'][$year] = round($budgeted, 2);
// jump to next year. // jump to next year.
$currentStart = clone $currentEnd; $currentStart = clone $currentEnd;

View File

@@ -463,7 +463,7 @@ class BudgetRepository extends ComponentRepository implements BudgetRepositoryIn
* *
* @return string * @return string
*/ */
public function getWithoutBudgetSum(Carbon $start, Carbon $end) public function getWithoutBudgetSum(Carbon $start, Carbon $end): string
{ {
$entry = Auth::user() $entry = Auth::user()
->transactionjournals() ->transactionjournals()
@@ -488,7 +488,7 @@ class BudgetRepository extends ComponentRepository implements BudgetRepositoryIn
->transactionTypes([TransactionType::WITHDRAWAL]) ->transactionTypes([TransactionType::WITHDRAWAL])
->first([DB::raw('SUM(`transactions`.`amount`) as `journalAmount`')]); ->first([DB::raw('SUM(`transactions`.`amount`) as `journalAmount`')]);
if (is_null($entry->journalAmount)) { if (is_null($entry->journalAmount)) {
return ''; return '0';
} }
return $entry->journalAmount; return $entry->journalAmount;

View File

@@ -171,9 +171,9 @@ interface BudgetRepositoryInterface
* @param Carbon $start * @param Carbon $start
* @param Carbon $end * @param Carbon $end
* *
* @return mixed * @return string
*/ */
public function getWithoutBudgetSum(Carbon $start, Carbon $end); public function getWithoutBudgetSum(Carbon $start, Carbon $end): string;
/** /**
* Returns an array with the following key:value pairs: * Returns an array with the following key:value pairs: