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 */
$start = session('start', Carbon::now()->startOfMonth());
/** @var Carbon $end */
$end = session('end', Carbon::now()->endOfMonth());
$end = session('end', Carbon::now()->endOfMonth());
$list = $repository->getWithoutBudget($start, $end);
$subTitle = trans(

View File

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

View File

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

View File

@ -171,9 +171,9 @@ interface BudgetRepositoryInterface
* @param Carbon $start
* @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: