From 7e11691ea4454ba201b1c568c8bf60af606bf6c6 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 28 Apr 2017 20:08:25 +0200 Subject: [PATCH] Update code to work with filters. --- .../Report/Budget/MonthReportGenerator.php | 4 +++- .../Report/Category/MonthReportGenerator.php | 4 +++- .../Report/Tag/MonthReportGenerator.php | 4 +++- app/Helpers/Chart/MetaPieChart.php | 3 ++- app/Http/Controllers/CategoryController.php | 16 +++++++++++----- .../Controllers/Chart/BudgetReportController.php | 4 +++- .../Chart/CategoryReportController.php | 3 ++- .../Controllers/Chart/TagReportController.php | 4 +++- app/Http/Controllers/TransactionController.php | 8 +++++--- app/Repositories/Account/AccountTasker.php | 6 ++---- app/Repositories/Category/CategoryRepository.php | 10 ++++------ app/Support/Search/Search.php | 3 ++- 12 files changed, 43 insertions(+), 26 deletions(-) diff --git a/app/Generator/Report/Budget/MonthReportGenerator.php b/app/Generator/Report/Budget/MonthReportGenerator.php index 14715045d3..3f470595b8 100644 --- a/app/Generator/Report/Budget/MonthReportGenerator.php +++ b/app/Generator/Report/Budget/MonthReportGenerator.php @@ -18,6 +18,7 @@ use Carbon\Carbon; use FireflyIII\Generator\Report\ReportGeneratorInterface; use FireflyIII\Generator\Report\Support; use FireflyIII\Helpers\Collector\JournalCollectorInterface; +use FireflyIII\Helpers\Filter\TransferFilter; use FireflyIII\Models\Transaction; use FireflyIII\Models\TransactionType; use Illuminate\Support\Collection; @@ -156,7 +157,8 @@ class MonthReportGenerator extends Support implements ReportGeneratorInterface $collector = app(JournalCollectorInterface::class); $collector->setAccounts($this->accounts)->setRange($this->start, $this->end) ->setTypes([TransactionType::WITHDRAWAL]) - ->setBudgets($this->budgets)->withOpposingAccount()->disableFilter(); + ->setBudgets($this->budgets)->withOpposingAccount(); + $collector->removeFilter(TransferFilter::class); $accountIds = $this->accounts->pluck('id')->toArray(); $transactions = $collector->getJournals(); diff --git a/app/Generator/Report/Category/MonthReportGenerator.php b/app/Generator/Report/Category/MonthReportGenerator.php index bb622d2a0b..f787628184 100644 --- a/app/Generator/Report/Category/MonthReportGenerator.php +++ b/app/Generator/Report/Category/MonthReportGenerator.php @@ -18,6 +18,7 @@ use Carbon\Carbon; use FireflyIII\Generator\Report\ReportGeneratorInterface; use FireflyIII\Generator\Report\Support; use FireflyIII\Helpers\Collector\JournalCollectorInterface; +use FireflyIII\Helpers\Filter\TransferFilter; use FireflyIII\Models\Transaction; use FireflyIII\Models\TransactionType; use Illuminate\Support\Collection; @@ -166,7 +167,8 @@ class MonthReportGenerator extends Support implements ReportGeneratorInterface $collector = app(JournalCollectorInterface::class); $collector->setAccounts($this->accounts)->setRange($this->start, $this->end) ->setTypes([TransactionType::WITHDRAWAL, TransactionType::TRANSFER]) - ->setCategories($this->categories)->withOpposingAccount()->disableFilter(); + ->setCategories($this->categories)->withOpposingAccount(); + $collector->removeFilter(TransferFilter::class); $accountIds = $this->accounts->pluck('id')->toArray(); $transactions = $collector->getJournals(); diff --git a/app/Generator/Report/Tag/MonthReportGenerator.php b/app/Generator/Report/Tag/MonthReportGenerator.php index 1bcba866a5..71e1be2db6 100644 --- a/app/Generator/Report/Tag/MonthReportGenerator.php +++ b/app/Generator/Report/Tag/MonthReportGenerator.php @@ -16,6 +16,7 @@ use Carbon\Carbon; use FireflyIII\Generator\Report\ReportGeneratorInterface; use FireflyIII\Generator\Report\Support; use FireflyIII\Helpers\Collector\JournalCollectorInterface; +use FireflyIII\Helpers\Filter\TransferFilter; use FireflyIII\Models\Tag; use FireflyIII\Models\Transaction; use FireflyIII\Models\TransactionType; @@ -162,7 +163,8 @@ class MonthReportGenerator extends Support implements ReportGeneratorInterface $collector = app(JournalCollectorInterface::class); $collector->setAccounts($this->accounts)->setRange($this->start, $this->end) ->setTypes([TransactionType::WITHDRAWAL, TransactionType::TRANSFER]) - ->setTags($this->tags)->withOpposingAccount()->disableFilter(); + ->setTags($this->tags)->withOpposingAccount(); + $collector->removeFilter(TransferFilter::class); $accountIds = $this->accounts->pluck('id')->toArray(); $transactions = $collector->getJournals(); diff --git a/app/Helpers/Chart/MetaPieChart.php b/app/Helpers/Chart/MetaPieChart.php index 6dfe7bdb2b..0e2b409e49 100644 --- a/app/Helpers/Chart/MetaPieChart.php +++ b/app/Helpers/Chart/MetaPieChart.php @@ -14,6 +14,7 @@ namespace FireflyIII\Helpers\Chart; use Carbon\Carbon; use FireflyIII\Generator\Report\Support; use FireflyIII\Helpers\Collector\JournalCollectorInterface; +use FireflyIII\Helpers\Filter\TransferFilter; use FireflyIII\Models\Tag; use FireflyIII\Models\Transaction; use FireflyIII\Models\TransactionType; @@ -250,7 +251,7 @@ class MetaPieChart implements MetaPieChartInterface $collector->withOpposingAccount(); if ($direction === 'income') { - $collector->disableFilter(); + $collector->removeFilter(TransferFilter::class); } if ($this->budgets->count() > 0) { diff --git a/app/Http/Controllers/CategoryController.php b/app/Http/Controllers/CategoryController.php index ac47290093..a760a0733d 100644 --- a/app/Http/Controllers/CategoryController.php +++ b/app/Http/Controllers/CategoryController.php @@ -15,6 +15,7 @@ namespace FireflyIII\Http\Controllers; use Carbon\Carbon; use FireflyIII\Helpers\Collector\JournalCollectorInterface; +use FireflyIII\Helpers\Filter\InternalTransferFilter; use FireflyIII\Http\Requests\CategoryFormRequest; use FireflyIII\Models\AccountType; use FireflyIII\Models\Category; @@ -211,7 +212,7 @@ class CategoryController extends Controller /** @var JournalCollectorInterface $collector */ $collector = app(JournalCollectorInterface::class); $collector->setAllAssetAccounts()->setRange($start, $end)->setLimit($pageSize)->setPage($page)->withoutCategory()->withOpposingAccount(); - $collector->disableInternalFilter(); + $collector->removeFilter(InternalTransferFilter::class); $journals = $collector->getPaginatedJournals(); $journals->setPath('/categories/list/no-category'); $count = $journals->getCollection()->count(); @@ -294,7 +295,8 @@ class CategoryController extends Controller /** @var JournalCollectorInterface $collector */ $collector = app(JournalCollectorInterface::class); $collector->setAllAssetAccounts()->setRange($start, $end)->setLimit($pageSize)->setPage($page)->withOpposingAccount() - ->setCategory($category)->withBudgetInformation()->withCategoryInformation()->disableInternalFilter(); + ->setCategory($category)->withBudgetInformation()->withCategoryInformation(); + $collector->removeFilter(InternalTransferFilter::class); $journals = $collector->getPaginatedJournals(); $journals->setPath('categories/show/' . $category->id); $count = $journals->getCollection()->count(); @@ -402,14 +404,17 @@ class CategoryController extends Controller // count journals without budget in this period: /** @var JournalCollectorInterface $collector */ $collector = app(JournalCollectorInterface::class); - $collector->setAllAssetAccounts()->setRange($end, $currentEnd)->withoutCategory()->withOpposingAccount()->disableInternalFilter(); + $collector->setAllAssetAccounts()->setRange($end, $currentEnd)->withoutCategory() + ->withOpposingAccount(); + $collector->removeFilter(InternalTransferFilter::class); $count = $collector->getJournals()->count(); // amount transferred /** @var JournalCollectorInterface $collector */ $collector = app(JournalCollectorInterface::class); $collector->setAllAssetAccounts()->setRange($end, $currentEnd)->withoutCategory() - ->withOpposingAccount()->setTypes([TransactionType::TRANSFER])->disableInternalFilter(); + ->withOpposingAccount()->setTypes([TransactionType::TRANSFER]); + $collector->removeFilter(InternalTransferFilter::class); $transferred = Steam::positive($collector->getJournals()->sum('transaction_amount')); // amount spent @@ -488,7 +493,8 @@ class CategoryController extends Controller /** @var JournalCollectorInterface $collector */ $collector = app(JournalCollectorInterface::class); $collector->setAllAssetAccounts()->setRange($end, $currentEnd)->setCategory($category) - ->withOpposingAccount()->setTypes([TransactionType::TRANSFER])->disableInternalFilter(); + ->withOpposingAccount()->setTypes([TransactionType::TRANSFER]); + $collector->removeFilter(InternalTransferFilter::class); $transferred = Steam::positive($collector->getJournals()->sum('transaction_amount')); $entries->push( diff --git a/app/Http/Controllers/Chart/BudgetReportController.php b/app/Http/Controllers/Chart/BudgetReportController.php index 6c96e3e1d3..e68819245d 100644 --- a/app/Http/Controllers/Chart/BudgetReportController.php +++ b/app/Http/Controllers/Chart/BudgetReportController.php @@ -19,6 +19,7 @@ use FireflyIII\Generator\Chart\Basic\GeneratorInterface; use FireflyIII\Generator\Report\Support; use FireflyIII\Helpers\Chart\MetaPieChartInterface; use FireflyIII\Helpers\Collector\JournalCollectorInterface; +use FireflyIII\Helpers\Filter\TransferFilter; use FireflyIII\Http\Controllers\Controller; use FireflyIII\Models\Budget; use FireflyIII\Models\BudgetLimit; @@ -234,7 +235,8 @@ class BudgetReportController extends Controller /** @var JournalCollectorInterface $collector */ $collector = app(JournalCollectorInterface::class); $collector->setAccounts($accounts)->setRange($start, $end)->setTypes([TransactionType::WITHDRAWAL, TransactionType::TRANSFER]) - ->setBudgets($budgets)->withOpposingAccount()->disableFilter(); + ->setBudgets($budgets)->withOpposingAccount(); + $collector->removeFilter(TransferFilter::class); $accountIds = $accounts->pluck('id')->toArray(); $transactions = $collector->getJournals(); $set = Support::filterExpenses($transactions, $accountIds); diff --git a/app/Http/Controllers/Chart/CategoryReportController.php b/app/Http/Controllers/Chart/CategoryReportController.php index 5f8b21c210..1f581808e5 100644 --- a/app/Http/Controllers/Chart/CategoryReportController.php +++ b/app/Http/Controllers/Chart/CategoryReportController.php @@ -271,7 +271,8 @@ class CategoryReportController extends Controller /** @var JournalCollectorInterface $collector */ $collector = app(JournalCollectorInterface::class); $collector->setAccounts($accounts)->setRange($start, $end)->setTypes([TransactionType::WITHDRAWAL, TransactionType::TRANSFER]) - ->setCategories($categories)->withOpposingAccount()->disableFilter(); + ->setCategories($categories)->withOpposingAccount(); + $collector->removeFilter(TransferFilter::class); $accountIds = $accounts->pluck('id')->toArray(); $transactions = $collector->getJournals(); $set = MonthReportGenerator::filterExpenses($transactions, $accountIds); diff --git a/app/Http/Controllers/Chart/TagReportController.php b/app/Http/Controllers/Chart/TagReportController.php index a0ebcb6bb5..f6b2a7e8b7 100644 --- a/app/Http/Controllers/Chart/TagReportController.php +++ b/app/Http/Controllers/Chart/TagReportController.php @@ -17,6 +17,7 @@ use FireflyIII\Generator\Chart\Basic\GeneratorInterface; use FireflyIII\Generator\Report\Tag\MonthReportGenerator; use FireflyIII\Helpers\Chart\MetaPieChartInterface; use FireflyIII\Helpers\Collector\JournalCollectorInterface; +use FireflyIII\Helpers\Filter\TransferFilter; use FireflyIII\Http\Controllers\Controller; use FireflyIII\Models\Tag; use FireflyIII\Models\Transaction; @@ -303,7 +304,8 @@ class TagReportController extends Controller /** @var JournalCollectorInterface $collector */ $collector = app(JournalCollectorInterface::class); $collector->setAccounts($accounts)->setRange($start, $end)->setTypes([TransactionType::WITHDRAWAL, TransactionType::TRANSFER]) - ->setTags($tags)->withOpposingAccount()->disableFilter(); + ->setTags($tags)->withOpposingAccount(); + $collector->removeFilter(TransferFilter::class); $accountIds = $accounts->pluck('id')->toArray(); $transactions = $collector->getJournals(); $set = MonthReportGenerator::filterExpenses($transactions, $accountIds); diff --git a/app/Http/Controllers/TransactionController.php b/app/Http/Controllers/TransactionController.php index 3e4f5ea09b..0dedf135d1 100644 --- a/app/Http/Controllers/TransactionController.php +++ b/app/Http/Controllers/TransactionController.php @@ -16,6 +16,7 @@ namespace FireflyIII\Http\Controllers; use Carbon\Carbon; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Helpers\Collector\JournalCollectorInterface; +use FireflyIII\Helpers\Filter\InternalTransferFilter; use FireflyIII\Models\TransactionJournal; use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; @@ -115,8 +116,8 @@ class TransactionController extends Controller Log::info('Count is zero, search for journals.'); /** @var JournalCollectorInterface $collector */ $collector = app(JournalCollectorInterface::class); - $collector->setAllAssetAccounts()->setRange($start, $end)->setTypes($types)->setLimit($pageSize)->setPage($page)->withOpposingAccount() - ->disableInternalFilter(); + $collector->setAllAssetAccounts()->setRange($start, $end)->setTypes($types)->setLimit($pageSize)->setPage($page)->withOpposingAccount(); + $collector->removeFilter(InternalTransferFilter::class); $journals = $collector->getPaginatedJournals(); $journals->setPath('/budgets/list/no-budget'); $count = $journals->getCollection()->count(); @@ -234,7 +235,8 @@ class TransactionController extends Controller // count journals without budget in this period: /** @var JournalCollectorInterface $collector */ $collector = app(JournalCollectorInterface::class); - $collector->setAllAssetAccounts()->setRange($end, $currentEnd)->withOpposingAccount()->setTypes($types)->disableInternalFilter(); + $collector->setAllAssetAccounts()->setRange($end, $currentEnd)->withOpposingAccount()->setTypes($types); + $collector->removeFilter(InternalTransferFilter::class); $set = $collector->getJournals(); $sum = $set->sum('transaction_amount'); $journals = $set->count(); diff --git a/app/Repositories/Account/AccountTasker.php b/app/Repositories/Account/AccountTasker.php index fd11485ad5..ce2e437880 100644 --- a/app/Repositories/Account/AccountTasker.php +++ b/app/Repositories/Account/AccountTasker.php @@ -106,8 +106,7 @@ class AccountTasker implements AccountTaskerInterface $collector = app(JournalCollectorInterface::class); $collector->setAccounts($accounts)->setRange($start, $end); $collector->setTypes([TransactionType::WITHDRAWAL, TransactionType::TRANSFER]) - ->withOpposingAccount() - ->enableInternalFilter(); + ->withOpposingAccount(); $transactions = $collector->getJournals(); $transactions = $transactions->filter( function (Transaction $transaction) { @@ -149,8 +148,7 @@ class AccountTasker implements AccountTaskerInterface $collector = app(JournalCollectorInterface::class); $collector->setAccounts($accounts)->setRange($start, $end); $collector->setTypes([TransactionType::DEPOSIT, TransactionType::TRANSFER]) - ->withOpposingAccount() - ->enableInternalFilter(); + ->withOpposingAccount(); $transactions = $collector->getJournals(); $transactions = $transactions->filter( function (Transaction $transaction) { diff --git a/app/Repositories/Category/CategoryRepository.php b/app/Repositories/Category/CategoryRepository.php index 36bee69b0a..bef618f634 100644 --- a/app/Repositories/Category/CategoryRepository.php +++ b/app/Repositories/Category/CategoryRepository.php @@ -228,8 +228,7 @@ class CategoryRepository implements CategoryRepositoryInterface $collector = app(JournalCollectorInterface::class); $collector->setAccounts($accounts)->setRange($start, $end); $collector->setCategories($categories)->setTypes([TransactionType::WITHDRAWAL, TransactionType::TRANSFER]) - ->withOpposingAccount() - ->enableInternalFilter(); + ->withOpposingAccount(); $transactions = $collector->getJournals(); // loop transactions: @@ -260,7 +259,7 @@ class CategoryRepository implements CategoryRepositoryInterface /** @var JournalCollectorInterface $collector */ $collector = app(JournalCollectorInterface::class); $collector->setAccounts($accounts)->setRange($start, $end)->withOpposingAccount(); - $collector->setTypes([TransactionType::WITHDRAWAL, TransactionType::TRANSFER])->enableInternalFilter(); + $collector->setTypes([TransactionType::WITHDRAWAL, TransactionType::TRANSFER]); $collector->withoutCategory(); $transactions = $collector->getJournals(); $result = [ @@ -312,8 +311,7 @@ class CategoryRepository implements CategoryRepositoryInterface $collector = app(JournalCollectorInterface::class); $collector->setAccounts($accounts)->setRange($start, $end); $collector->setCategories($categories)->setTypes([TransactionType::DEPOSIT, TransactionType::TRANSFER]) - ->withOpposingAccount() - ->enableInternalFilter(); + ->withOpposingAccount(); $transactions = $collector->getJournals(); // loop transactions: @@ -345,7 +343,7 @@ class CategoryRepository implements CategoryRepositoryInterface /** @var JournalCollectorInterface $collector */ $collector = app(JournalCollectorInterface::class); $collector->setAccounts($accounts)->setRange($start, $end)->withOpposingAccount(); - $collector->setTypes([TransactionType::DEPOSIT, TransactionType::TRANSFER])->enableInternalFilter(); + $collector->setTypes([TransactionType::DEPOSIT, TransactionType::TRANSFER]); $collector->withoutCategory(); $transactions = $collector->getJournals(); $result = [ diff --git a/app/Support/Search/Search.php b/app/Support/Search/Search.php index a4797b3ec8..4b9ffacb31 100644 --- a/app/Support/Search/Search.php +++ b/app/Support/Search/Search.php @@ -16,6 +16,7 @@ namespace FireflyIII\Support\Search; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Helpers\Collector\JournalCollectorInterface; +use FireflyIII\Helpers\Filter\InternalTransferFilter; use FireflyIII\Models\Account; use FireflyIII\Models\AccountType; use FireflyIII\Models\Budget; @@ -207,7 +208,7 @@ class Search implements SearchInterface if ($this->hasModifiers()) { $collector->withOpposingAccount()->withCategoryInformation()->withBudgetInformation(); } - $collector->disableInternalFilter(); + $collector->removeFilter(InternalTransferFilter::class); $set = $collector->getPaginatedJournals()->getCollection(); $words = $this->words;