From 40892ccfa7fec0bee1aa90238a114d6c18a0eb7d Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 28 Dec 2014 18:03:35 +0100 Subject: [PATCH] Some small updates to piggy banks. --- app/breadcrumbs.php | 347 +++++++++--------- app/controllers/ReportController.php | 4 +- .../Database/PiggyBank/PiggyBank.php | 2 +- app/views/piggy_banks/index.blade.php | 94 ++--- app/views/reports/budget.blade.php | 2 +- app/views/reports/month.blade.php | 2 +- 6 files changed, 230 insertions(+), 221 deletions(-) diff --git a/app/breadcrumbs.php b/app/breadcrumbs.php index 78a73fff86..1753d137c5 100644 --- a/app/breadcrumbs.php +++ b/app/breadcrumbs.php @@ -17,350 +17,353 @@ Breadcrumbs::register( // accounts Breadcrumbs::register( 'accounts.index', function (Generator $breadcrumbs, $what) { - $breadcrumbs->parent('home'); - $breadcrumbs->push(ucfirst($what) . ' accounts', route('accounts.index', $what)); - } + $breadcrumbs->parent('home'); + $breadcrumbs->push(ucfirst($what) . ' accounts', route('accounts.index', $what)); +} ); Breadcrumbs::register( 'accounts.show', function (Generator $breadcrumbs, \Account $account) { - switch ($account->accountType->type) { - default: - throw new FireflyException('Cannot handle account type "' . e($account->accountType->type) . '"'); - break; - case 'Default account': - case 'Asset account': - $what = 'asset'; - break; - case 'Cash account': - $what = 'cash'; - break; - case 'Expense account': - case 'Beneficiary account': - $what = 'expense'; - break; - case 'Revenue account': - $what = 'revenue'; - break; - } - $breadcrumbs->parent('accounts.index', $what); - $breadcrumbs->push($account->name, route('accounts.show', $account->id)); + switch ($account->accountType->type) { + default: + throw new FireflyException('Cannot handle account type "' . e($account->accountType->type) . '"'); + break; + case 'Default account': + case 'Asset account': + $what = 'asset'; + break; + case 'Cash account': + $what = 'cash'; + break; + case 'Expense account': + case 'Beneficiary account': + $what = 'expense'; + break; + case 'Revenue account': + $what = 'revenue'; + break; } + $breadcrumbs->parent('accounts.index', $what); + $breadcrumbs->push($account->name, route('accounts.show', $account->id)); +} ); Breadcrumbs::register( 'accounts.delete', function (Generator $breadcrumbs, \Account $account) { - $breadcrumbs->parent('accounts.show', $account); - $breadcrumbs->push('Delete ' . $account->name, route('accounts.delete', $account->id)); - } + $breadcrumbs->parent('accounts.show', $account); + $breadcrumbs->push('Delete ' . $account->name, route('accounts.delete', $account->id)); +} ); Breadcrumbs::register( 'accounts.edit', function (Generator $breadcrumbs, \Account $account) { - $breadcrumbs->parent('accounts.show', $account); - $breadcrumbs->push('Edit ' . $account->name, route('accounts.edit', $account->id)); - } + $breadcrumbs->parent('accounts.show', $account); + $breadcrumbs->push('Edit ' . $account->name, route('accounts.edit', $account->id)); +} ); // budgets. Breadcrumbs::register( 'budgets.index', function (Generator $breadcrumbs) { - $breadcrumbs->parent('home'); - $breadcrumbs->push('Budgets', route('budgets.index')); - } + $breadcrumbs->parent('home'); + $breadcrumbs->push('Budgets', route('budgets.index')); +} ); Breadcrumbs::register( 'budgets.create', function (Generator $breadcrumbs) { - $breadcrumbs->parent('budgets.index'); - $breadcrumbs->push('Create new budget', route('budgets.create')); - } + $breadcrumbs->parent('budgets.index'); + $breadcrumbs->push('Create new budget', route('budgets.create')); +} ); Breadcrumbs::register( 'budgets.edit', function (Generator $breadcrumbs, Budget $budget) { - $breadcrumbs->parent('budgets.show', $budget); - $breadcrumbs->push('Edit ' . $budget->name, route('budgets.edit', $budget->id)); - } + $breadcrumbs->parent('budgets.show', $budget); + $breadcrumbs->push('Edit ' . $budget->name, route('budgets.edit', $budget->id)); +} ); Breadcrumbs::register( 'budgets.delete', function (Generator $breadcrumbs, Budget $budget) { - $breadcrumbs->parent('budgets.show', $budget); - $breadcrumbs->push('Delete ' . $budget->name, route('budgets.delete', $budget->id)); - } + $breadcrumbs->parent('budgets.show', $budget); + $breadcrumbs->push('Delete ' . $budget->name, route('budgets.delete', $budget->id)); +} ); Breadcrumbs::register( 'budgets.show', function (Generator $breadcrumbs, Budget $budget, LimitRepetition $repetition = null) { - $breadcrumbs->parent('budgets.index'); - $breadcrumbs->push($budget->name, route('budgets.show', $budget->id)); - if (!is_null($repetition)) { - $breadcrumbs->push( - DateKit::periodShow($repetition->startdate, $repetition->budgetlimit->repeat_freq), route('budgets.show', $budget->id, $repetition->id) - ); - } + $breadcrumbs->parent('budgets.index'); + $breadcrumbs->push($budget->name, route('budgets.show', $budget->id)); + if (!is_null($repetition)) { + $breadcrumbs->push( + DateKit::periodShow($repetition->startdate, $repetition->budgetlimit->repeat_freq), route('budgets.show', $budget->id, $repetition->id) + ); } +} ); // categories Breadcrumbs::register( 'categories.index', function (Generator $breadcrumbs) { - $breadcrumbs->parent('home'); - $breadcrumbs->push('Categories', route('categories.index')); - } + $breadcrumbs->parent('home'); + $breadcrumbs->push('Categories', route('categories.index')); +} ); Breadcrumbs::register( 'categories.create', function (Generator $breadcrumbs) { - $breadcrumbs->parent('categories.index'); - $breadcrumbs->push('Create new category', route('categories.create')); - } + $breadcrumbs->parent('categories.index'); + $breadcrumbs->push('Create new category', route('categories.create')); +} ); Breadcrumbs::register( 'categories.edit', function (Generator $breadcrumbs, Category $category) { - $breadcrumbs->parent('categories.show', $category); - $breadcrumbs->push('Edit ' . $category->name, route('categories.edit', $category->id)); - } + $breadcrumbs->parent('categories.show', $category); + $breadcrumbs->push('Edit ' . $category->name, route('categories.edit', $category->id)); +} ); Breadcrumbs::register( 'categories.delete', function (Generator $breadcrumbs, Category $category) { - $breadcrumbs->parent('categories.show', $category); - $breadcrumbs->push('Delete ' . $category->name, route('categories.delete', $category->id)); - } + $breadcrumbs->parent('categories.show', $category); + $breadcrumbs->push('Delete ' . $category->name, route('categories.delete', $category->id)); +} ); Breadcrumbs::register( 'categories.show', function (Generator $breadcrumbs, Category $category) { - $breadcrumbs->parent('categories.index'); - $breadcrumbs->push($category->name, route('categories.show', $category->id)); + $breadcrumbs->parent('categories.index'); + $breadcrumbs->push($category->name, route('categories.show', $category->id)); - } +} ); // piggy banks Breadcrumbs::register( 'piggyBanks.index', function (Generator $breadcrumbs) { - $breadcrumbs->parent('home'); - $breadcrumbs->push('Piggy banks', route('piggyBanks.index')); - } + $breadcrumbs->parent('home'); + $breadcrumbs->push('Piggy banks', route('piggyBanks.index')); +} ); Breadcrumbs::register( 'piggyBanks.create', function (Generator $breadcrumbs) { - $breadcrumbs->parent('piggyBanks.index'); - $breadcrumbs->push('Create new piggy bank', route('piggyBanks.create')); - } + $breadcrumbs->parent('piggyBanks.index'); + $breadcrumbs->push('Create new piggy bank', route('piggyBanks.create')); +} ); Breadcrumbs::register( 'piggyBanks.edit', function (Generator $breadcrumbs, PiggyBank $piggyBank) { - $breadcrumbs->parent('piggyBanks.show', $piggyBank); - $breadcrumbs->push('Edit ' . $piggyBank->name, route('piggyBanks.edit', $piggyBank->id)); - } + $breadcrumbs->parent('piggyBanks.show', $piggyBank); + $breadcrumbs->push('Edit ' . $piggyBank->name, route('piggyBanks.edit', $piggyBank->id)); +} ); Breadcrumbs::register( 'piggyBanks.delete', function (Generator $breadcrumbs, PiggyBank $piggyBank) { - $breadcrumbs->parent('piggyBanks.show', $piggyBank); - $breadcrumbs->push('Delete ' . $piggyBank->name, route('piggyBanks.delete', $piggyBank->id)); - } + $breadcrumbs->parent('piggyBanks.show', $piggyBank); + $breadcrumbs->push('Delete ' . $piggyBank->name, route('piggyBanks.delete', $piggyBank->id)); +} ); Breadcrumbs::register( 'piggyBanks.show', function (Generator $breadcrumbs, PiggyBank $piggyBank) { - $breadcrumbs->parent('piggyBanks.index'); - $breadcrumbs->push($piggyBank->name, route('piggyBanks.show', $piggyBank->id)); + $breadcrumbs->parent('piggyBanks.index'); + $breadcrumbs->push($piggyBank->name, route('piggyBanks.show', $piggyBank->id)); - } +} ); // preferences Breadcrumbs::register( 'preferences', function (Generator $breadcrumbs) { - $breadcrumbs->parent('home'); - $breadcrumbs->push('Preferences', route('preferences')); + $breadcrumbs->parent('home'); + $breadcrumbs->push('Preferences', route('preferences')); - } +} ); // profile Breadcrumbs::register( 'profile', function (Generator $breadcrumbs) { - $breadcrumbs->parent('home'); - $breadcrumbs->push('Profile', route('profile')); + $breadcrumbs->parent('home'); + $breadcrumbs->push('Profile', route('profile')); - } +} ); Breadcrumbs::register( 'change-password', function (Generator $breadcrumbs) { - $breadcrumbs->parent('profile'); - $breadcrumbs->push('Change your password', route('change-password')); + $breadcrumbs->parent('profile'); + $breadcrumbs->push('Change your password', route('change-password')); - } +} ); // recurring transactions Breadcrumbs::register( 'recurring.index', function (Generator $breadcrumbs) { - $breadcrumbs->parent('home'); - $breadcrumbs->push('Recurring transactions', route('recurring.index')); - } + $breadcrumbs->parent('home'); + $breadcrumbs->push('Recurring transactions', route('recurring.index')); +} ); Breadcrumbs::register( 'recurring.create', function (Generator $breadcrumbs) { - $breadcrumbs->parent('recurring.index'); - $breadcrumbs->push('Create new recurring transaction', route('recurring.create')); - } + $breadcrumbs->parent('recurring.index'); + $breadcrumbs->push('Create new recurring transaction', route('recurring.create')); +} ); Breadcrumbs::register( 'recurring.edit', function (Generator $breadcrumbs, RecurringTransaction $recurring) { - $breadcrumbs->parent('recurring.show', $recurring); - $breadcrumbs->push('Edit ' . $recurring->name, route('recurring.edit', $recurring->id)); - } + $breadcrumbs->parent('recurring.show', $recurring); + $breadcrumbs->push('Edit ' . $recurring->name, route('recurring.edit', $recurring->id)); +} ); Breadcrumbs::register( 'recurring.delete', function (Generator $breadcrumbs, RecurringTransaction $recurring) { - $breadcrumbs->parent('recurring.show', $recurring); - $breadcrumbs->push('Delete ' . $recurring->name, route('recurring.delete', $recurring->id)); - } + $breadcrumbs->parent('recurring.show', $recurring); + $breadcrumbs->push('Delete ' . $recurring->name, route('recurring.delete', $recurring->id)); +} ); Breadcrumbs::register( 'recurring.show', function (Generator $breadcrumbs, RecurringTransaction $recurring) { - $breadcrumbs->parent('recurring.index'); - $breadcrumbs->push($recurring->name, route('recurring.show', $recurring->id)); + $breadcrumbs->parent('recurring.index'); + $breadcrumbs->push($recurring->name, route('recurring.show', $recurring->id)); - } +} ); // reminders Breadcrumbs::register( 'reminders.show', function (Generator $breadcrumbs, Reminder $reminder) { - $breadcrumbs->parent('home'); - $breadcrumbs->push('Reminder #' . $reminder->id, route('reminders.show', $reminder->id)); + $breadcrumbs->parent('home'); + $breadcrumbs->push('Reminder #' . $reminder->id, route('reminders.show', $reminder->id)); - } +} ); // repeated expenses Breadcrumbs::register( 'repeated.index', function (Generator $breadcrumbs) { - $breadcrumbs->parent('home'); - $breadcrumbs->push('Repeated expenses', route('repeated.index')); - } + $breadcrumbs->parent('home'); + $breadcrumbs->push('Repeated expenses', route('repeated.index')); +} ); Breadcrumbs::register( 'repeated.create', function (Generator $breadcrumbs) { - $breadcrumbs->parent('repeated.index'); - $breadcrumbs->push('Create new repeated expense', route('repeated.create')); - } + $breadcrumbs->parent('repeated.index'); + $breadcrumbs->push('Create new repeated expense', route('repeated.create')); +} ); Breadcrumbs::register( 'repeated.edit', function (Generator $breadcrumbs, PiggyBank $piggyBank) { - $breadcrumbs->parent('repeated.show', $piggyBank); - $breadcrumbs->push('Edit ' . $piggyBank->name, route('repeated.edit', $piggyBank->id)); - } + $breadcrumbs->parent('repeated.show', $piggyBank); + $breadcrumbs->push('Edit ' . $piggyBank->name, route('repeated.edit', $piggyBank->id)); +} ); Breadcrumbs::register( 'repeated.delete', function (Generator $breadcrumbs, PiggyBank $piggyBank) { - $breadcrumbs->parent('repeated.show', $piggyBank); - $breadcrumbs->push('Delete ' . $piggyBank->name, route('repeated.delete', $piggyBank->id)); - } + $breadcrumbs->parent('repeated.show', $piggyBank); + $breadcrumbs->push('Delete ' . $piggyBank->name, route('repeated.delete', $piggyBank->id)); +} ); Breadcrumbs::register( 'repeated.show', function (Generator $breadcrumbs, PiggyBank $piggyBank) { - $breadcrumbs->parent('repeated.index'); - $breadcrumbs->push($piggyBank->name, route('repeated.show', $piggyBank->id)); + $breadcrumbs->parent('repeated.index'); + $breadcrumbs->push($piggyBank->name, route('repeated.show', $piggyBank->id)); - } +} ); // reports Breadcrumbs::register( 'reports.index', function (Generator $breadcrumbs) { - $breadcrumbs->parent('home'); - $breadcrumbs->push('Reports', route('reports.index')); - } + $breadcrumbs->parent('home'); + $breadcrumbs->push('Reports', route('reports.index')); +} ); Breadcrumbs::register( 'reports.year', function (Generator $breadcrumbs, Carbon $date) { - $breadcrumbs->parent('reports.index'); - $breadcrumbs->push($date->format('Y'), route('reports.year', $date->format('Y'))); - } + $breadcrumbs->parent('reports.index'); + $breadcrumbs->push($date->format('Y'), route('reports.year', $date->format('Y'))); +} ); + Breadcrumbs::register( - 'reports.budgets', function (Generator $breadcrumbs, Carbon $date) { - $breadcrumbs->parent('reports.index'); - $breadcrumbs->push('Budgets in ' . $date->format('F Y'), route('reports.budgets', $date->format('Y'))); - } + 'reports.month', function (Generator $breadcrumbs, Carbon $date) { + $breadcrumbs->parent('reports.index'); + $breadcrumbs->push('Monthly report for ' . $date->format('F Y'), route('reports.month', $date)); +} ); + Breadcrumbs::register( - 'reports.unbalanced', function (Generator $breadcrumbs, Carbon $date) { - $breadcrumbs->parent('reports.index'); - $breadcrumbs->push('Unbalanced transactions in ' . $date->format('F Y'), route('reports.unbalanced', $date->format('Y'))); - } + 'reports.budget', function (Generator $breadcrumbs, Carbon $date) { + $breadcrumbs->parent('reports.index'); + $breadcrumbs->push('Budget report for ' . $date->format('F Y'), route('reports.budget', $date)); +} ); + // search Breadcrumbs::register( 'search', function (Generator $breadcrumbs, $query) { - $breadcrumbs->parent('home'); - $breadcrumbs->push('Search for "' . e($query) . '"', route('search')); - } + $breadcrumbs->parent('home'); + $breadcrumbs->push('Search for "' . e($query) . '"', route('search')); +} ); // transactions Breadcrumbs::register( 'transactions.index', function (Generator $breadcrumbs, $what) { - $breadcrumbs->parent('home'); + $breadcrumbs->parent('home'); - switch ($what) { - case 'expenses': - case 'withdrawal': - $subTitle = 'Expenses'; - break; - case 'revenue': - case 'deposit': - $subTitle = 'Revenue, income and deposits'; - break; - case 'transfer': - case 'transfers': - $subTitle = 'Transfers'; - break; - case 'opening balance': - $subTitle = 'Opening balances'; - break; - default: - throw new FireflyException('Cannot handle $what "'.e($what).'" in bread crumbs'); - } - - $breadcrumbs->push($subTitle, route('transactions.index', $what)); + switch ($what) { + case 'expenses': + case 'withdrawal': + $subTitle = 'Expenses'; + break; + case 'revenue': + case 'deposit': + $subTitle = 'Revenue, income and deposits'; + break; + case 'transfer': + case 'transfers': + $subTitle = 'Transfers'; + break; + case 'opening balance': + $subTitle = 'Opening balances'; + break; + default: + throw new FireflyException('Cannot handle $what "' . e($what) . '" in bread crumbs'); } + + $breadcrumbs->push($subTitle, route('transactions.index', $what)); +} ); Breadcrumbs::register( 'transactions.create', function (Generator $breadcrumbs, $what) { - $breadcrumbs->parent('transactions.index', $what); - $breadcrumbs->push('Create new ' . $what, route('transactions.create', $what)); - } + $breadcrumbs->parent('transactions.index', $what); + $breadcrumbs->push('Create new ' . $what, route('transactions.create', $what)); +} ); Breadcrumbs::register( 'transactions.edit', function (Generator $breadcrumbs, TransactionJournal $journal) { - $breadcrumbs->parent('transactions.show', $journal); - $breadcrumbs->push('Edit ' . $journal->description, route('transactions.edit', $journal ->id)); - } + $breadcrumbs->parent('transactions.show', $journal); + $breadcrumbs->push('Edit ' . $journal->description, route('transactions.edit', $journal->id)); +} ); Breadcrumbs::register( 'transactions.delete', function (Generator $breadcrumbs, TransactionJournal $journal) { - $breadcrumbs->parent('transactions.show', $journal); - $breadcrumbs->push('Delete ' . $journal->description, route('transactions.delete', $journal->id)); - } + $breadcrumbs->parent('transactions.show', $journal); + $breadcrumbs->push('Delete ' . $journal->description, route('transactions.delete', $journal->id)); +} ); Breadcrumbs::register( 'transactions.show', function (Generator $breadcrumbs, TransactionJournal $journal) { - $breadcrumbs->parent('transactions.index', strtolower($journal->transactionType->type)); - $breadcrumbs->push($journal->description, route('transactions.show', $journal->id)); + $breadcrumbs->parent('transactions.index', strtolower($journal->transactionType->type)); + $breadcrumbs->push($journal->description, route('transactions.show', $journal->id)); - } +} ); \ No newline at end of file diff --git a/app/controllers/ReportController.php b/app/controllers/ReportController.php index 35a5588929..100da8cbce 100644 --- a/app/controllers/ReportController.php +++ b/app/controllers/ReportController.php @@ -52,7 +52,7 @@ class ReportController extends BaseController $accounts = $this->_repository->getAccountListBudgetOverview($date); $budgets = $this->_repository->getBudgetsForMonth($date); - return View::make('reports.budget', compact('accounts', 'budgets', 'dayEarly')); + return View::make('reports.budget', compact('date', 'accounts', 'budgets', 'dayEarly')); } @@ -96,7 +96,7 @@ class ReportController extends BaseController return View::make( 'reports.month', - compact('accounts', 'categories', 'budgets', 'expenses', 'subTitle', 'displaySum', 'subTitleIcon', 'income') + compact('date', 'accounts', 'categories', 'budgets', 'expenses', 'subTitle', 'displaySum', 'subTitleIcon', 'income') ); } diff --git a/app/lib/FireflyIII/Database/PiggyBank/PiggyBank.php b/app/lib/FireflyIII/Database/PiggyBank/PiggyBank.php index 796aa17272..594e5ad75b 100644 --- a/app/lib/FireflyIII/Database/PiggyBank/PiggyBank.php +++ b/app/lib/FireflyIII/Database/PiggyBank/PiggyBank.php @@ -206,7 +206,7 @@ class PiggyBank implements CUD, CommonDatabaseCalls, PiggyBankInterface */ public function get() { - return $this->getUser()->piggyBanks()->where('repeats', 0)->get(); + return $this->getUser()->piggyBanks()->where('repeats', 0)->orderBy('name')->get(); } /** diff --git a/app/views/piggy_banks/index.blade.php b/app/views/piggy_banks/index.blade.php index 6279dcd1d6..79c05a28b4 100644 --- a/app/views/piggy_banks/index.blade.php +++ b/app/views/piggy_banks/index.blade.php @@ -1,60 +1,66 @@ @extends('layouts.default') @section('content') {{ Breadcrumbs::renderIfExists(Route::getCurrentRoute()->getName()) }} +@foreach($piggyBanks as $piggyBank)
- @foreach($piggyBanks as $piggyBank) -
-
- -
-
-
- {{mf($piggyBank->savedSoFar,true)}} -
-
-
-
percentage == 100) - class="progress-bar progress-bar-success" - @else - class="progress-bar progress-bar-info" - @endif - role="progressbar" aria-valuenow="{{$piggyBank->percentage}}" aria-valuemin="0" aria-valuemax="100" style="min-width: 40px;width: {{$piggyBank->percentage}}%;"> - {{$piggyBank->percentage}}% -
-
-
-
- {{mf($piggyBank->targetamount,true)}} +
+
+ +
+
+ +
+
+ @if($piggyBank->leftToSave > 0) + + @endif +
-
-
-
- @if($piggyBank->leftToSave > 0) - - @endif - -
+ +
+
+ +
-
-
- - -
-
-
- @if($piggyBank->leftToSave > 0) - {{mf($piggyBank->leftToSave)}} +
+ +
+ {{mf($piggyBank->savedSoFar,true)}} +
+ +
+
+
percentage == 100) + class="progress-bar progress-bar-success" + @else + class="progress-bar progress-bar-info" @endif + role="progressbar" aria-valuenow="{{$piggyBank->percentage}}" aria-valuemin="0" aria-valuemax="100" style="min-width: 40px;width: {{$piggyBank->percentage}}%;"> + {{$piggyBank->percentage}}% +
+ +
+ {{mf($piggyBank->targetamount,true)}} +
+ +
+ @if($piggyBank->leftToSave > 0) + {{mf($piggyBank->leftToSave)}} + @endif +
- @endforeach +
+
+@endforeach +
diff --git a/app/views/reports/budget.blade.php b/app/views/reports/budget.blade.php index 3d37060fd6..359eb13628 100644 --- a/app/views/reports/budget.blade.php +++ b/app/views/reports/budget.blade.php @@ -1,6 +1,6 @@ @extends('layouts.default') @section('content') -{{ Breadcrumbs::renderIfExists(Route::getCurrentRoute()->getName()) }} +{{ Breadcrumbs::renderIfExists(Route::getCurrentRoute()->getName(), $date) }}
diff --git a/app/views/reports/month.blade.php b/app/views/reports/month.blade.php index 2075b3f6a3..ec0e3a22ca 100644 --- a/app/views/reports/month.blade.php +++ b/app/views/reports/month.blade.php @@ -1,6 +1,6 @@ @extends('layouts.default') @section('content') -{{ Breadcrumbs::renderIfExists(Route::getCurrentRoute()->getName()) }} +{{ Breadcrumbs::renderIfExists(Route::getCurrentRoute()->getName(), $date) }}