diff --git a/app/Http/Controllers/AccountController.php b/app/Http/Controllers/AccountController.php index 71ea51855e..734a5008a1 100644 --- a/app/Http/Controllers/AccountController.php +++ b/app/Http/Controllers/AccountController.php @@ -251,6 +251,7 @@ class AccountController extends Controller $end = Navigation::subtractPeriod($end, $range, 1); } + $cache->store($entries); return view('accounts.show', compact('account', 'what', 'entries', 'subTitleIcon', 'journals', 'subTitle')); } diff --git a/app/Http/Controllers/PiggyBankController.php b/app/Http/Controllers/PiggyBankController.php index a3ec4d3d52..b1a1b910b9 100644 --- a/app/Http/Controllers/PiggyBankController.php +++ b/app/Http/Controllers/PiggyBankController.php @@ -48,6 +48,26 @@ class PiggyBankController extends Controller View::share('mainTitleIcon', 'fa-sort-amount-asc'); } + /** + * Add money to piggy bank (for mobile devices) + * + * @param ARI $repository + * @param PiggyBank $piggyBank + * + * @return $this + */ + public function addMobile(ARI $repository, PiggyBank $piggyBank) + { + /** @var Carbon $date */ + $date = session('end', Carbon::now()->endOfMonth()); + $leftOnAccount = $repository->leftOnAccount($piggyBank->account, $date); + $savedSoFar = $piggyBank->currentRelevantRep()->currentamount; + $leftToSave = bcsub($piggyBank->targetamount, $savedSoFar); + $maxAmount = min($leftOnAccount, $leftToSave); + + return view('piggy-banks.add-mobile', compact('piggyBank', 'maxAmount')); + } + /** * Add money to piggy bank * diff --git a/app/Http/Controllers/ReportController.php b/app/Http/Controllers/ReportController.php index 099aa84518..037d3c2ab1 100644 --- a/app/Http/Controllers/ReportController.php +++ b/app/Http/Controllers/ReportController.php @@ -320,9 +320,7 @@ class ReportController extends Controller $incomes = $this->helper->getIncomeReport($start, $end, $accounts); $expenses = $this->helper->getExpenseReport($start, $end, $accounts); $tags = $this->helper->tagReport($start, $end, $accounts); - - // find the budgets we've spent money on this period with these accounts: - $budgets = $this->budgetHelper->getBudgetsWithExpenses($start, $end, $accounts); + $budgets = $this->budgetHelper->budgetYearOverview($start, $end, $accounts); Session::flash('gaEventCategory', 'report'); Session::flash('gaEventAction', 'year'); diff --git a/app/Http/routes.php b/app/Http/routes.php index 159931d398..1921e0d017 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -277,6 +277,13 @@ Route::group( Route::get('/piggy-banks', ['uses' => 'PiggyBankController@index', 'as' => 'piggy-banks.index']); Route::get('/piggy-banks/add/{piggyBank}', ['uses' => 'PiggyBankController@add', 'as' => 'piggy-banks.addMoney']); Route::get('/piggy-banks/remove/{piggyBank}', ['uses' => 'PiggyBankController@remove', 'as' => 'piggy-banks.removeMoney']); + + Route::get('/piggy-banks/add-money/{piggyBank}', ['uses' => 'PiggyBankController@addMobile', 'as' => 'piggy-banks.add-money-mobile']); + Route::get('/piggy-banks/remove-money/{piggyBank}', ['uses' => 'PiggyBankController@removeMobile', 'as' => 'piggy-banks.remove-money-mobile']); + + Route::post('/piggy-banks/add-money/{piggyBank}', ['uses' => 'PiggyBankController@postAddMobile', 'as' => 'piggy-banks.post-add-mobile']); + Route::post('/piggy-banks/remove-money/{piggyBank}', ['uses' => 'PiggyBankController@postRemoveMobile', 'as' => 'piggy-banks.post-remove-mobile']); + Route::get('/piggy-banks/create', ['uses' => 'PiggyBankController@create', 'as' => 'piggy-banks.create']); Route::get('/piggy-banks/edit/{piggyBank}', ['uses' => 'PiggyBankController@edit', 'as' => 'piggy-banks.edit']); Route::get('/piggy-banks/delete/{piggyBank}', ['uses' => 'PiggyBankController@delete', 'as' => 'piggy-banks.delete']); diff --git a/app/Repositories/Budget/BudgetRepository.php b/app/Repositories/Budget/BudgetRepository.php index b104c8f292..c12d3a3fb4 100644 --- a/app/Repositories/Budget/BudgetRepository.php +++ b/app/Repositories/Budget/BudgetRepository.php @@ -23,6 +23,7 @@ use FireflyIII\User; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Query\JoinClause; use Illuminate\Support\Collection; +use Log; /** * Class BudgetRepository @@ -44,6 +45,18 @@ class BudgetRepository implements BudgetRepositoryInterface $this->user = $user; } + /** + * @return bool + */ + public function cleanupBudgets(): bool + { + // delete limits with amount 0: + BudgetLimit::where('amount', 0)->delete(); + + return true; + + } + /** * @param Budget $budget * @@ -156,18 +169,6 @@ class BudgetRepository implements BudgetRepositoryInterface return $set; } - /** - * @return bool - */ - public function cleanupBudgets(): bool - { - // delete limits with amount 0: - BudgetLimit::where('amount', 0)->delete(); - - return true; - - } - /** * @return Collection */ diff --git a/resources/lang/en_US/firefly.php b/resources/lang/en_US/firefly.php index 6d3f31f8b0..4b66462e54 100644 --- a/resources/lang/en_US/firefly.php +++ b/resources/lang/en_US/firefly.php @@ -739,6 +739,7 @@ return [ 'balanceFor' => 'Balance for :name', // piggy banks: + 'add_money_to_piggy' => 'Add money to piggy bank ":name"', 'piggy_bank' => 'Piggy bank', 'new_piggy_bank' => 'Create new piggy bank', 'store_piggy_bank' => 'Store new piggy bank', diff --git a/resources/views/list/piggy-banks.twig b/resources/views/list/piggy-banks.twig index 753fae7a47..3a049b0e1f 100644 --- a/resources/views/list/piggy-banks.twig +++ b/resources/views/list/piggy-banks.twig @@ -2,6 +2,12 @@
{% for piggyBank in piggyBanks %}