diff --git a/app/Http/breadcrumbs.php b/app/Http/breadcrumbs.php index 339855c695..f83a4b0153 100644 --- a/app/Http/breadcrumbs.php +++ b/app/Http/breadcrumbs.php @@ -320,6 +320,14 @@ Breadcrumbs::register( } ); +Breadcrumbs::register( + 'categories.show.all', function (BreadCrumbGenerator $breadcrumbs, Category $category) { + $breadcrumbs->parent('categories.index'); + $breadcrumbs->push(e($category->name) . '(' . strtolower(trans('firefly.all_periods')) . ')', route('categories.show.all', [$category->id])); + +} +); + Breadcrumbs::register( 'categories.show.date', function (BreadCrumbGenerator $breadcrumbs, Category $category, Carbon $date) { diff --git a/app/Repositories/Category/CategoryRepository.php b/app/Repositories/Category/CategoryRepository.php index 4d32e42fa6..451d995d59 100644 --- a/app/Repositories/Category/CategoryRepository.php +++ b/app/Repositories/Category/CategoryRepository.php @@ -145,8 +145,10 @@ class CategoryRepository implements CategoryRepositoryInterface ->leftJoin('transaction_journals', 'transaction_journals.id', '=', 'transactions.transaction_journal_id') ->orderBy('transaction_journals.date', 'ASC')->first(['transaction_journals.date']); + + // both exist, the one that is earliest "wins". - if (!is_null($firstTransaction) && !is_null($first) && $firstTransaction->date->lt($first)) { + if (!is_null($firstTransaction) && !is_null($first) && Carbon::parse($firstTransaction->date)->lt($first)) { $first = $firstTransaction->date; } diff --git a/tests/acceptance/Controllers/AccountControllerTest.php b/tests/acceptance/Controllers/AccountControllerTest.php index fb03855828..f133ab166b 100644 --- a/tests/acceptance/Controllers/AccountControllerTest.php +++ b/tests/acceptance/Controllers/AccountControllerTest.php @@ -128,6 +128,22 @@ class AccountControllerTest extends TestCase $this->see('