diff --git a/app/breadcrumbs.php b/app/breadcrumbs.php index 9eaf34cd8b..0e7b720ae2 100644 --- a/app/breadcrumbs.php +++ b/app/breadcrumbs.php @@ -1,5 +1,6 @@ parent('home'); @@ -19,8 +21,69 @@ Breadcrumbs::register( } ); Breadcrumbs::register( - 'accounts.show', function (Generator $breadcrumbs, $what, \Account $account) { - $breadcrumbs->parent('accounts.index',$what); + '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 '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) { + 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 'Expense account': + case 'Beneficiary account': + $what = 'expense'; + break; + case 'Revenue account': + $what = 'revenue'; + break; + } + $breadcrumbs->parent('accounts.show', $account); + $breadcrumbs->push('Delete ' . $account->name, route('accounts.delete', $account->id)); + } +); + +Breadcrumbs::register( + 'accounts.edit', 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 'Expense account': + case 'Beneficiary account': + $what = 'expense'; + break; + case 'Revenue account': + $what = 'revenue'; + break; + } + $breadcrumbs->parent('accounts.show', $account); + $breadcrumbs->push('Edit ' . $account->name, route('accounts.edit', $account->id)); + } ); \ No newline at end of file diff --git a/app/views/accounts/create.blade.php b/app/views/accounts/create.blade.php index edf174bce6..74fe8fc5db 100644 --- a/app/views/accounts/create.blade.php +++ b/app/views/accounts/create.blade.php @@ -1,5 +1,6 @@ @extends('layouts.default') @section('content') +{{ Breadcrumbs::renderIfExists(Route::getCurrentRoute()->getName(), $what) }} {{Form::open(['class' => 'form-horizontal','route' => 'accounts.store'])}} {{Form::hidden('what',$what)}}