diff --git a/app/Generator/Report/Audit/MonthReportGenerator.php b/app/Generator/Report/Audit/MonthReportGenerator.php index f5a5abd56c..9c21b1a0ba 100644 --- a/app/Generator/Report/Audit/MonthReportGenerator.php +++ b/app/Generator/Report/Audit/MonthReportGenerator.php @@ -16,7 +16,7 @@ namespace FireflyIII\Generator\Report\Audit; use Carbon\Carbon; use FireflyIII\Generator\Report\ReportGeneratorInterface; -use FireflyIII\Helpers\Collector\JournalCollector; +use FireflyIII\Helpers\Collector\JournalCollectorInterface; use FireflyIII\Models\Account; use FireflyIII\Models\Transaction; use Illuminate\Support\Collection; @@ -137,12 +137,14 @@ class MonthReportGenerator implements ReportGeneratorInterface */ private function getAuditReport(Account $account, Carbon $date): array { - $dayBeforeBalance = Steam::balance($account, $date); - $collector = new JournalCollector(auth()->user()); + + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class, [auth()->user()]); $collector->setAccounts(new Collection([$account]))->setRange($this->start, $this->end); - $journals = $collector->getJournals(); - $journals = $journals->reverse(); - $startBalance = $dayBeforeBalance; + $journals = $collector->getJournals(); + $journals = $journals->reverse(); + $dayBeforeBalance = Steam::balance($account, $date); + $startBalance = $dayBeforeBalance; /** @var Transaction $journal */ diff --git a/app/Generator/Report/Budget/MonthReportGenerator.php b/app/Generator/Report/Budget/MonthReportGenerator.php index 085fb9bfe8..38a53aad79 100644 --- a/app/Generator/Report/Budget/MonthReportGenerator.php +++ b/app/Generator/Report/Budget/MonthReportGenerator.php @@ -17,7 +17,7 @@ namespace FireflyIII\Generator\Report\Budget; use Carbon\Carbon; use FireflyIII\Generator\Report\ReportGeneratorInterface; use FireflyIII\Generator\Report\Support; -use FireflyIII\Helpers\Collector\JournalCollector; +use FireflyIII\Helpers\Collector\JournalCollectorInterface; use FireflyIII\Models\Transaction; use FireflyIII\Models\TransactionType; use Illuminate\Support\Collection; @@ -184,7 +184,8 @@ class MonthReportGenerator extends Support implements ReportGeneratorInterface return $this->expenses; } - $collector = new JournalCollector(auth()->user()); + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class, [auth()->user()]); $collector->setAccounts($this->accounts)->setRange($this->start, $this->end) ->setTypes([TransactionType::WITHDRAWAL]) ->setBudgets($this->budgets)->withOpposingAccount()->disableFilter(); diff --git a/app/Generator/Report/Category/MonthReportGenerator.php b/app/Generator/Report/Category/MonthReportGenerator.php index a11bbc7460..5517d7be13 100644 --- a/app/Generator/Report/Category/MonthReportGenerator.php +++ b/app/Generator/Report/Category/MonthReportGenerator.php @@ -17,7 +17,7 @@ namespace FireflyIII\Generator\Report\Category; use Carbon\Carbon; use FireflyIII\Generator\Report\ReportGeneratorInterface; use FireflyIII\Generator\Report\Support; -use FireflyIII\Helpers\Collector\JournalCollector; +use FireflyIII\Helpers\Collector\JournalCollectorInterface; use FireflyIII\Models\Transaction; use FireflyIII\Models\TransactionType; use Illuminate\Support\Collection; @@ -194,7 +194,8 @@ class MonthReportGenerator extends Support implements ReportGeneratorInterface return $this->expenses; } - $collector = new JournalCollector(auth()->user()); + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class, [auth()->user()]); $collector->setAccounts($this->accounts)->setRange($this->start, $this->end) ->setTypes([TransactionType::WITHDRAWAL, TransactionType::TRANSFER]) ->setCategories($this->categories)->withOpposingAccount()->disableFilter(); @@ -216,7 +217,8 @@ class MonthReportGenerator extends Support implements ReportGeneratorInterface return $this->income; } - $collector = new JournalCollector(auth()->user()); + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class, [auth()->user()]); $collector->setAccounts($this->accounts)->setRange($this->start, $this->end) ->setTypes([TransactionType::DEPOSIT, TransactionType::TRANSFER]) ->setCategories($this->categories)->withOpposingAccount(); diff --git a/app/Http/Controllers/AccountController.php b/app/Http/Controllers/AccountController.php index eea03cbac5..e48c17cf2c 100644 --- a/app/Http/Controllers/AccountController.php +++ b/app/Http/Controllers/AccountController.php @@ -17,7 +17,6 @@ use Amount; use Carbon\Carbon; use ExpandedForm; use FireflyIII\Exceptions\FireflyException; -use FireflyIII\Helpers\Collector\JournalCollector; use FireflyIII\Helpers\Collector\JournalCollectorInterface; use FireflyIII\Http\Requests\AccountFormRequest; use FireflyIII\Models\Account; @@ -273,7 +272,8 @@ class AccountController extends Controller $chartUri = route('chart.account.all', [$account->id]); // replace with journal collector: - $collector = new JournalCollector(auth()->user()); + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class, [auth()->user()]); $collector->setAccounts(new Collection([$account]))->setLimit($pageSize)->setPage($page); $journals = $collector->getPaginatedJournals(); $journals->setPath('accounts/show/' . $account->id . '/all'); @@ -304,7 +304,8 @@ class AccountController extends Controller $chartUri = route('chart.account.period', [$account->id, $carbon->format('Y-m-d')]); // replace with journal collector: - $collector = new JournalCollector(auth()->user()); + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class, [auth()->user()]); $collector->setAccounts(new Collection([$account]))->setRange($start, $end)->setLimit($pageSize)->setPage($page); $journals = $collector->getPaginatedJournals(); $journals->setPath('accounts/show/' . $account->id . '/' . $date); diff --git a/app/Http/Controllers/AttachmentController.php b/app/Http/Controllers/AttachmentController.php index 8cf513f267..727b3e9b0e 100644 --- a/app/Http/Controllers/AttachmentController.php +++ b/app/Http/Controllers/AttachmentController.php @@ -13,7 +13,6 @@ declare(strict_types = 1); namespace FireflyIII\Http\Controllers; -use Crypt; use File; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Http\Requests\AttachmentFormRequest; @@ -24,7 +23,6 @@ use Log; use Preferences; use Response; use Session; -use Storage; use URL; use View; diff --git a/app/Http/Controllers/BillController.php b/app/Http/Controllers/BillController.php index 35f4329d95..d058d8d6a3 100644 --- a/app/Http/Controllers/BillController.php +++ b/app/Http/Controllers/BillController.php @@ -14,7 +14,7 @@ declare(strict_types = 1); namespace FireflyIII\Http\Controllers; use Carbon\Carbon; -use FireflyIII\Helpers\Collector\JournalCollector; +use FireflyIII\Helpers\Collector\JournalCollectorInterface; use FireflyIII\Http\Requests\BillFormRequest; use FireflyIII\Models\Bill; use FireflyIII\Models\TransactionJournal; @@ -213,8 +213,10 @@ class BillController extends Controller $overallAverage = $repository->getOverallAverage($bill); // use collector: - $collector = new JournalCollector(auth()->user()); - $collector->setAllAssetAccounts()->setBills(new Collection([$bill]))->setLimit($pageSize)->setPage($page); + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class, [auth()->user()]); + $collector->setAllAssetAccounts()->setBills(new Collection([$bill]))->setLimit($pageSize)->setPage($page)->withBudgetInformation() + ->withBudgetInformation(); $journals = $collector->getPaginatedJournals(); $journals->setPath('/bills/show/' . $bill->id); diff --git a/app/Http/Controllers/BudgetController.php b/app/Http/Controllers/BudgetController.php index c0d3681047..3e8189cde5 100644 --- a/app/Http/Controllers/BudgetController.php +++ b/app/Http/Controllers/BudgetController.php @@ -16,7 +16,7 @@ namespace FireflyIII\Http\Controllers; use Amount; use Carbon\Carbon; use FireflyIII\Exceptions\FireflyException; -use FireflyIII\Helpers\Collector\JournalCollector; +use FireflyIII\Helpers\Collector\JournalCollectorInterface; use FireflyIII\Http\Requests\BudgetFormRequest; use FireflyIII\Http\Requests\BudgetIncomeRequest; use FireflyIII\Models\AccountType; @@ -210,7 +210,8 @@ class BudgetController extends Controller ); // collector - $collector = new JournalCollector(auth()->user()); + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class, [auth()->user()]); $collector->setAllAssetAccounts()->setRange($start, $end)->setLimit($pageSize)->setPage($page)->withoutBudget(); $journals = $collector->getPaginatedJournals(); $journals->setPath('/budgets/list/noBudget'); @@ -251,7 +252,8 @@ class BudgetController extends Controller $accounts = $accountRepository->getAccountsByType([AccountType::DEFAULT, AccountType::ASSET, AccountType::CASH]); $repetition = null; // collector: - $collector = new JournalCollector(auth()->user()); + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class, [auth()->user()]); $collector->setAllAssetAccounts()->setRange($start, $end)->setBudget($budget)->setLimit($pageSize)->setPage($page)->withCategoryInformation(); $journals = $collector->getPaginatedJournals(); $journals->setPath('/budgets/show/' . $budget->id); @@ -298,7 +300,8 @@ class BudgetController extends Controller // collector: - $collector = new JournalCollector(auth()->user()); + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class, [auth()->user()]); $collector->setAllAssetAccounts()->setRange($start, $end)->setBudget($budget)->setLimit($pageSize)->setPage($page)->withCategoryInformation(); $journals = $collector->getPaginatedJournals(); $journals->setPath('/budgets/show/' . $budget->id . '/' . $repetition->id); diff --git a/app/Http/Controllers/CategoryController.php b/app/Http/Controllers/CategoryController.php index 3c040efe99..8992a894a3 100644 --- a/app/Http/Controllers/CategoryController.php +++ b/app/Http/Controllers/CategoryController.php @@ -14,7 +14,6 @@ declare(strict_types = 1); namespace FireflyIII\Http\Controllers; use Carbon\Carbon; -use FireflyIII\Helpers\Collector\JournalCollector; use FireflyIII\Helpers\Collector\JournalCollectorInterface; use FireflyIII\Http\Requests\CategoryFormRequest; use FireflyIII\Models\AccountType; @@ -165,7 +164,8 @@ class CategoryController extends Controller $end = session('end', Carbon::now()->startOfMonth()); // new collector: - $collector = new JournalCollector(auth()->user()); + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class, [auth()->user()]); $collector->setAllAssetAccounts()->setRange($start, $end)->withoutCategory();//->groupJournals(); $journals = $collector->getJournals(); $subTitle = trans( diff --git a/app/Http/Controllers/Chart/BudgetController.php b/app/Http/Controllers/Chart/BudgetController.php index aa9a737336..03a8ac4f0e 100644 --- a/app/Http/Controllers/Chart/BudgetController.php +++ b/app/Http/Controllers/Chart/BudgetController.php @@ -15,7 +15,7 @@ namespace FireflyIII\Http\Controllers\Chart; use Carbon\Carbon; use FireflyIII\Generator\Chart\Basic\GeneratorInterface; -use FireflyIII\Helpers\Collector\JournalCollector; +use FireflyIII\Helpers\Collector\JournalCollectorInterface; use FireflyIII\Http\Controllers\Controller; use FireflyIII\Models\Budget; use FireflyIII\Models\LimitRepetition; @@ -442,7 +442,8 @@ class BudgetController extends Controller private function spentInPeriodWithout(Carbon $start, Carbon $end): array { // collector - $collector = new JournalCollector(auth()->user()); + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class, [auth()->user()]); $types = [TransactionType::WITHDRAWAL]; $collector->setAllAssetAccounts()->setTypes($types)->setRange($start, $end)->withoutBudget(); $journals = $collector->getJournals(); diff --git a/app/Http/Controllers/Chart/BudgetReportController.php b/app/Http/Controllers/Chart/BudgetReportController.php index 5ba5e9dd0e..5f32d04795 100644 --- a/app/Http/Controllers/Chart/BudgetReportController.php +++ b/app/Http/Controllers/Chart/BudgetReportController.php @@ -17,7 +17,7 @@ namespace FireflyIII\Http\Controllers\Chart; use Carbon\Carbon; use FireflyIII\Generator\Chart\Basic\GeneratorInterface; use FireflyIII\Generator\Report\Category\MonthReportGenerator; -use FireflyIII\Helpers\Collector\JournalCollector; +use FireflyIII\Helpers\Collector\JournalCollectorInterface; use FireflyIII\Http\Controllers\Controller; use FireflyIII\Models\Budget; use FireflyIII\Models\LimitRepetition; @@ -107,7 +107,8 @@ class BudgetReportController extends Controller // also collect all transactions NOT in these budgets. if ($others) { - $collector = new JournalCollector(auth()->user()); + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class, [auth()->user()]); $collector->setAccounts($accounts)->setRange($start, $end)->setTypes([TransactionType::WITHDRAWAL]); $journals = $collector->getJournals(); $sum = strval($journals->sum('transaction_amount')); @@ -164,7 +165,8 @@ class BudgetReportController extends Controller // also collect all transactions NOT in these budgets. if ($others) { - $collector = new JournalCollector(auth()->user()); + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class, [auth()->user()]); $collector->setAccounts($accounts)->setRange($start, $end)->setTypes([TransactionType::WITHDRAWAL]); $journals = $collector->getJournals(); $sum = strval($journals->sum('transaction_amount')); @@ -313,7 +315,8 @@ class BudgetReportController extends Controller */ private function getExpenses(Collection $accounts, Collection $budgets, Carbon $start, Carbon $end): Collection { - $collector = new JournalCollector(auth()->user()); + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class, [auth()->user()]); $collector->setAccounts($accounts)->setRange($start, $end)->setTypes([TransactionType::WITHDRAWAL, TransactionType::TRANSFER]) ->setBudgets($budgets)->withOpposingAccount()->disableFilter(); $accountIds = $accounts->pluck('id')->toArray(); diff --git a/app/Http/Controllers/Chart/CategoryReportController.php b/app/Http/Controllers/Chart/CategoryReportController.php index be76c938a4..fb66e25a1d 100644 --- a/app/Http/Controllers/Chart/CategoryReportController.php +++ b/app/Http/Controllers/Chart/CategoryReportController.php @@ -17,7 +17,7 @@ namespace FireflyIII\Http\Controllers\Chart; use Carbon\Carbon; use FireflyIII\Generator\Chart\Basic\GeneratorInterface; use FireflyIII\Generator\Report\Category\MonthReportGenerator; -use FireflyIII\Helpers\Collector\JournalCollector; +use FireflyIII\Helpers\Collector\JournalCollectorInterface; use FireflyIII\Http\Controllers\Controller; use FireflyIII\Models\Category; use FireflyIII\Models\Transaction; @@ -106,7 +106,8 @@ class CategoryReportController extends Controller // also collect all transactions NOT in these categories. if ($others) { - $collector = new JournalCollector(auth()->user()); + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class, [auth()->user()]); $collector->setAccounts($accounts)->setRange($start, $end)->setTypes([TransactionType::WITHDRAWAL]); $journals = $collector->getJournals(); $sum = strval($journals->sum('transaction_amount')); @@ -163,7 +164,8 @@ class CategoryReportController extends Controller // also collect others? if ($others) { - $collector = new JournalCollector(auth()->user()); + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class, [auth()->user()]); $collector->setAccounts($accounts)->setRange($start, $end)->setTypes([TransactionType::DEPOSIT]); $journals = $collector->getJournals(); $sum = strval($journals->sum('transaction_amount')); @@ -219,7 +221,8 @@ class CategoryReportController extends Controller // also collect all transactions NOT in these categories. if ($others) { - $collector = new JournalCollector(auth()->user()); + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class, [auth()->user()]); $collector->setAccounts($accounts)->setRange($start, $end)->setTypes([TransactionType::WITHDRAWAL]); $journals = $collector->getJournals(); $sum = strval($journals->sum('transaction_amount')); @@ -274,7 +277,8 @@ class CategoryReportController extends Controller } if ($others) { - $collector = new JournalCollector(auth()->user()); + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class, [auth()->user()]); $collector->setAccounts($accounts)->setRange($start, $end)->setTypes([TransactionType::DEPOSIT]); $journals = $collector->getJournals(); $sum = strval($journals->sum('transaction_amount')); @@ -405,7 +409,8 @@ class CategoryReportController extends Controller */ private function getExpenses(Collection $accounts, Collection $categories, Carbon $start, Carbon $end): Collection { - $collector = new JournalCollector(auth()->user()); + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class, [auth()->user()]); $collector->setAccounts($accounts)->setRange($start, $end)->setTypes([TransactionType::WITHDRAWAL, TransactionType::TRANSFER]) ->setCategories($categories)->withOpposingAccount()->disableFilter(); $accountIds = $accounts->pluck('id')->toArray(); @@ -425,7 +430,8 @@ class CategoryReportController extends Controller */ private function getIncome(Collection $accounts, Collection $categories, Carbon $start, Carbon $end): Collection { - $collector = new JournalCollector(auth()->user()); + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class, [auth()->user()]); $collector->setAccounts($accounts)->setRange($start, $end)->setTypes([TransactionType::DEPOSIT, TransactionType::TRANSFER]) ->setCategories($categories)->withOpposingAccount(); $accountIds = $accounts->pluck('id')->toArray(); diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php index ade70f5cf9..0904e4bbbc 100644 --- a/app/Http/Controllers/Controller.php +++ b/app/Http/Controllers/Controller.php @@ -13,6 +13,7 @@ declare(strict_types = 1); namespace FireflyIII\Http\Controllers; +use FireflyConfig; use FireflyIII\Models\AccountType; use FireflyIII\Models\Transaction; use FireflyIII\Models\TransactionJournal; @@ -23,7 +24,6 @@ use Illuminate\Foundation\Validation\ValidatesRequests; use Illuminate\Routing\Controller as BaseController; use Session; use View; -use FireflyConfig; /** * Class Controller @@ -52,8 +52,8 @@ class Controller extends BaseController View::share('hideTags', false); $isDemoSite = FireflyConfig::get('is_demo_site', config('firefly.configuration.is_demo_site'))->data; View::share('IS_DEMO_SITE', $isDemoSite); - View::share('DEMO_USERNAME', env('DEMO_USERNAME','')); - View::share('DEMO_PASSWORD', env('DEMO_PASSWORD','')); + View::share('DEMO_USERNAME', env('DEMO_USERNAME', '')); + View::share('DEMO_PASSWORD', env('DEMO_PASSWORD', '')); // translations: diff --git a/app/Http/Controllers/JsonController.php b/app/Http/Controllers/JsonController.php index 0cf47797f0..1b6656af97 100644 --- a/app/Http/Controllers/JsonController.php +++ b/app/Http/Controllers/JsonController.php @@ -15,7 +15,7 @@ namespace FireflyIII\Http\Controllers; use Amount; use Carbon\Carbon; use FireflyIII\Exceptions\FireflyException; -use FireflyIII\Helpers\Collector\JournalCollector; +use FireflyIII\Helpers\Collector\JournalCollectorInterface; use FireflyIII\Models\AccountType; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\Account\AccountTaskerInterface; @@ -280,7 +280,8 @@ class JsonController extends Controller $types = [$type]; // use journal collector instead: - $collector = new JournalCollector(auth()->user()); + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class, [auth()->user()]); $collector->setTypes($types)->setLimit(100)->setPage(1); $journals = $collector->getJournals(); foreach ($journals as $j) { diff --git a/app/Http/Controllers/Popup/ReportController.php b/app/Http/Controllers/Popup/ReportController.php index 3d730ca105..0f436dc962 100644 --- a/app/Http/Controllers/Popup/ReportController.php +++ b/app/Http/Controllers/Popup/ReportController.php @@ -17,7 +17,7 @@ namespace FireflyIII\Http\Controllers\Popup; use Carbon\Carbon; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Helpers\Collection\BalanceLine; -use FireflyIII\Helpers\Collector\JournalCollector; +use FireflyIII\Helpers\Collector\JournalCollectorInterface; use FireflyIII\Http\Controllers\Controller; use FireflyIII\Models\Transaction; use FireflyIII\Models\TransactionJournal; @@ -102,7 +102,8 @@ class ReportController extends Controller switch (true) { case ($role === BalanceLine::ROLE_DEFAULTROLE && !is_null($budget->id)): - $collector = new JournalCollector(auth()->user()); + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class, [auth()->user()]); $collector ->setAccounts(new Collection([$account])) ->setRange($attributes['startDate'], $attributes['endDate']) @@ -112,8 +113,8 @@ class ReportController extends Controller break; case ($role === BalanceLine::ROLE_DEFAULTROLE && is_null($budget->id)): $budget->name = strval(trans('firefly.no_budget')); - // collector - $collector = new JournalCollector(auth()->user()); + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class, [auth()->user()]); $collector ->setAccounts(new Collection([$account])) ->setTypes($types) @@ -122,8 +123,8 @@ class ReportController extends Controller $journals = $collector->getJournals(); break; case ($role === BalanceLine::ROLE_DIFFROLE): - // journals no budget, not corrected by a tag. - $collector = new JournalCollector(auth()->user()); + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class, [auth()->user()]); $collector ->setAccounts(new Collection([$account])) ->setTypes($types) @@ -134,7 +135,7 @@ class ReportController extends Controller $budget->name = strval(trans('firefly.leftUnbalanced')); $journals = $journals->filter( function (Transaction $transaction) { - $tags = $transaction->transactionJournal->tags()->where('tagMode', 'balancingAct')->count(); + $tags = $transaction->transactionJournal->tags()->where('tagMode', 'balancingAct')->count(); if ($tags === 0) { return true; } @@ -167,7 +168,8 @@ class ReportController extends Controller /** @var BudgetRepositoryInterface $repository */ $repository = app(BudgetRepositoryInterface::class); $budget = $repository->find(intval($attributes['budgetId'])); - $collector = new JournalCollector(auth()->user()); + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class, [auth()->user()]); $collector ->setAccounts($attributes['accounts']) @@ -200,8 +202,8 @@ class ReportController extends Controller $repository = app(CategoryRepositoryInterface::class); $category = $repository->find(intval($attributes['categoryId'])); $types = [TransactionType::WITHDRAWAL, TransactionType::TRANSFER]; - // get journal collector instead: - $collector = new JournalCollector(auth()->user()); + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class, [auth()->user()]); $collector->setAccounts($attributes['accounts'])->setTypes($types) ->setRange($attributes['startDate'], $attributes['endDate']) ->setCategory($category); @@ -225,9 +227,10 @@ class ReportController extends Controller /** @var AccountRepositoryInterface $repository */ $repository = app(AccountRepositoryInterface::class); - $account = $repository->find(intval($attributes['accountId'])); - $types = [TransactionType::WITHDRAWAL, TransactionType::TRANSFER]; - $collector = new JournalCollector(auth()->user()); + $account = $repository->find(intval($attributes['accountId'])); + $types = [TransactionType::WITHDRAWAL, TransactionType::TRANSFER]; + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class, [auth()->user()]); $collector->setAccounts(new Collection([$account]))->setRange($attributes['startDate'], $attributes['endDate'])->setTypes($types); $journals = $collector->getJournals(); $report = $attributes['accounts']->pluck('id')->toArray(); // accounts used in this report @@ -262,7 +265,8 @@ class ReportController extends Controller $repository = app(AccountRepositoryInterface::class); $account = $repository->find(intval($attributes['accountId'])); $types = [TransactionType::DEPOSIT, TransactionType::TRANSFER]; - $collector = new JournalCollector(auth()->user()); + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class, [auth()->user()]); $collector->setAccounts(new Collection([$account]))->setRange($attributes['startDate'], $attributes['endDate'])->setTypes($types); $journals = $collector->getJournals(); $report = $attributes['accounts']->pluck('id')->toArray(); // accounts used in this report diff --git a/app/Http/Controllers/TagController.php b/app/Http/Controllers/TagController.php index 9ad571c091..6e16b55fde 100644 --- a/app/Http/Controllers/TagController.php +++ b/app/Http/Controllers/TagController.php @@ -13,7 +13,7 @@ declare(strict_types = 1); namespace FireflyIII\Http\Controllers; -use FireflyIII\Helpers\Collector\JournalCollector; +use FireflyIII\Helpers\Collector\JournalCollectorInterface; use FireflyIII\Http\Requests\TagFormRequest; use FireflyIII\Models\Tag; use FireflyIII\Models\Transaction; @@ -210,7 +210,7 @@ class TagController extends Controller * * @return View */ - public function show(Tag $tag) + public function show(JournalCollectorInterface $collector, Tag $tag) { $subTitle = $tag->tag; $subTitleIcon = 'fa-tag'; @@ -218,9 +218,7 @@ class TagController extends Controller $pageSize = intval(Preferences::get('transactionPageSize', 50)->data); // use collector: - // replace with journal collector: - $collector = new JournalCollector(auth()->user()); - $collector->setAllAssetAccounts()->setLimit($pageSize)->setPage($page)->setTag($tag); + $collector->setAllAssetAccounts()->setLimit($pageSize)->setPage($page)->setTag($tag)->withBudgetInformation()->withCategoryInformation(); $journals = $collector->getPaginatedJournals(); $journals->setPath('tags/show/' . $tag->id); diff --git a/app/Jobs/ExecuteRuleGroupOnExistingTransactions.php b/app/Jobs/ExecuteRuleGroupOnExistingTransactions.php index fec910a6b3..1678cb2bcc 100644 --- a/app/Jobs/ExecuteRuleGroupOnExistingTransactions.php +++ b/app/Jobs/ExecuteRuleGroupOnExistingTransactions.php @@ -14,7 +14,7 @@ declare(strict_types = 1); namespace FireflyIII\Jobs; use Carbon\Carbon; -use FireflyIII\Helpers\Collector\JournalCollector; +use FireflyIII\Helpers\Collector\JournalCollectorInterface; use FireflyIII\Models\RuleGroup; use FireflyIII\Rules\Processor; use FireflyIII\User; @@ -155,7 +155,8 @@ class ExecuteRuleGroupOnExistingTransactions extends Job implements ShouldQueue */ protected function collectJournals() { - $collector = new JournalCollector(auth()->user()); + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class, [auth()->user()]); $collector->setAccounts($this->accounts)->setRange($this->startDate, $this->endDate); return $collector->getJournals(); diff --git a/app/Rules/TransactionMatcher.php b/app/Rules/TransactionMatcher.php index 0e63c06085..6ef720774a 100644 --- a/app/Rules/TransactionMatcher.php +++ b/app/Rules/TransactionMatcher.php @@ -14,6 +14,7 @@ declare(strict_types = 1); namespace FireflyIII\Rules; use FireflyIII\Helpers\Collector\JournalCollector; +use FireflyIII\Helpers\Collector\JournalCollectorInterface; use FireflyIII\Models\Transaction; use FireflyIII\Models\TransactionType; use FireflyIII\Repositories\Journal\JournalTaskerInterface; @@ -77,7 +78,8 @@ class TransactionMatcher // - the maximum number of transactions to search in have been searched do { // Fetch a batch of transactions from the database - $collector = new JournalCollector(auth()->user()); + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class, [auth()->user()]); $collector->setAllAssetAccounts()->setLimit($pageSize)->setPage($page)->setTypes($this->transactionTypes); $set = $collector->getPaginatedJournals(); Log::debug(sprintf('Found %d journals to check. ', $set->count())); diff --git a/app/Support/Search/Search.php b/app/Support/Search/Search.php index d011bdd0fd..c71e1e2985 100644 --- a/app/Support/Search/Search.php +++ b/app/Support/Search/Search.php @@ -14,7 +14,7 @@ declare(strict_types = 1); namespace FireflyIII\Support\Search; -use FireflyIII\Helpers\Collector\JournalCollector; +use FireflyIII\Helpers\Collector\JournalCollectorInterface; use FireflyIII\Models\Account; use FireflyIII\Models\AccountType; use FireflyIII\Models\Budget; @@ -163,7 +163,8 @@ class Search implements SearchInterface $page = 1; $result = new Collection(); do { - $collector = new JournalCollector($this->user); + /** @var JournalCollectorInterface $collector */ + $collector = app(JournalCollectorInterface::class, [$this->user]); $collector->setAllAssetAccounts()->setLimit($pageSize)->setPage($page); $set = $collector->getPaginatedJournals(); Log::debug(sprintf('Found %d journals to check. ', $set->count())); diff --git a/tests/acceptance/Controllers/AccountControllerTest.php b/tests/acceptance/Controllers/AccountControllerTest.php index f133ab166b..9072f3b44a 100644 --- a/tests/acceptance/Controllers/AccountControllerTest.php +++ b/tests/acceptance/Controllers/AccountControllerTest.php @@ -60,15 +60,16 @@ class AccountControllerTest extends TestCase */ public function testDestroy() { + $this->session(['accounts.delete.url' => 'http://localhost/accounts/show/1']); + $repository = $this->mock(AccountRepositoryInterface::class); $repository->shouldReceive('find')->withArgs([0])->once()->andReturn(new Account); $repository->shouldReceive('destroy')->andReturn(true); - $this->session(['accounts.delete.url' => 'http://localhost']); + $this->be($this->user()); $this->call('post', route('accounts.destroy', [1])); $this->assertResponseStatus(302); $this->assertSessionHas('success'); - } /** @@ -85,6 +86,7 @@ class AccountControllerTest extends TestCase /** * @covers FireflyIII\Http\Controllers\AccountController::index + * @covers FireflyIII\Http\Controllers\AccountController::isInArray * @dataProvider dateRangeProvider * * @param string $range @@ -101,6 +103,7 @@ class AccountControllerTest extends TestCase /** * @covers FireflyIII\Http\Controllers\AccountController::show + * @covers FireflyIII\Http\Controllers\AccountController::periodEntries * @dataProvider dateRangeProvider * * @param string $range @@ -129,7 +132,7 @@ class AccountControllerTest extends TestCase } /** - * @covers FireflyIII\Http\Controllers\AccountController::showWithDate + * @covers FireflyIII\Http\Controllers\AccountController::showAll * @dataProvider dateRangeProvider * * @param string $range @@ -145,7 +148,7 @@ class AccountControllerTest extends TestCase } /** - * @covers FireflyIII\Http\Controllers\AccountController::showWithDate + * @covers FireflyIII\Http\Controllers\AccountController::showByDate * @dataProvider dateRangeProvider * * @param string $range diff --git a/tests/acceptance/Controllers/Admin/ConfigurationControllerTest.php b/tests/acceptance/Controllers/Admin/ConfigurationControllerTest.php index bc965a5ec2..0d4351fc5e 100644 --- a/tests/acceptance/Controllers/Admin/ConfigurationControllerTest.php +++ b/tests/acceptance/Controllers/Admin/ConfigurationControllerTest.php @@ -58,7 +58,7 @@ class ConfigurationControllerTest extends TestCase } /** - * @covers \FireflyIII\Http\Controllers\Admin\ConfigurationController::store + * @covers \FireflyIII\Http\Controllers\Admin\ConfigurationController::postIndex */ public function testPostIndex() { diff --git a/tests/acceptance/Controllers/AttachmentControllerTest.php b/tests/acceptance/Controllers/AttachmentControllerTest.php index be401ef04d..a2fdbc3d07 100644 --- a/tests/acceptance/Controllers/AttachmentControllerTest.php +++ b/tests/acceptance/Controllers/AttachmentControllerTest.php @@ -45,6 +45,7 @@ class AttachmentControllerTest extends TestCase public function testDestroy() { $this->session(['attachments.delete.url' => 'http://localhost']); + $repository = $this->mock(AttachmentRepositoryInterface::class); $repository->shouldReceive('destroy')->andReturn(true); $this->be($this->user());