mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-09-19 19:01:58 +00:00
This is a partial fix for issue #151. It does not filter on account selection.
This commit is contained in:
@@ -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 (is_null($budget->id)) {
|
||||||
|
// get without budget sum in range:
|
||||||
|
$spent = $repository->getWithoutBudgetSum($currentStart, $currentEnd) * -1;
|
||||||
|
} else {
|
||||||
if (isset($set[$id]['entries'][$year])) {
|
if (isset($set[$id]['entries'][$year])) {
|
||||||
$spent = $set[$id]['entries'][$year] * -1;
|
$spent = $set[$id]['entries'][$year] * -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($budgetedArray[$id][$year])) {
|
|
||||||
$budgeted = round($budgetedArray[$id][$year], 2);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$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;
|
||||||
|
@@ -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;
|
||||||
|
@@ -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:
|
||||||
|
Reference in New Issue
Block a user