Various small fixes.

This commit is contained in:
James Cole
2016-12-28 11:34:00 +01:00
parent 49758c4e72
commit e64b778d13
21 changed files with 102 additions and 72 deletions

View File

@@ -16,7 +16,7 @@ namespace FireflyIII\Generator\Report\Audit;
use Carbon\Carbon; use Carbon\Carbon;
use FireflyIII\Generator\Report\ReportGeneratorInterface; use FireflyIII\Generator\Report\ReportGeneratorInterface;
use FireflyIII\Helpers\Collector\JournalCollector; use FireflyIII\Helpers\Collector\JournalCollectorInterface;
use FireflyIII\Models\Account; use FireflyIII\Models\Account;
use FireflyIII\Models\Transaction; use FireflyIII\Models\Transaction;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
@@ -137,11 +137,13 @@ class MonthReportGenerator implements ReportGeneratorInterface
*/ */
private function getAuditReport(Account $account, Carbon $date): array 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); $collector->setAccounts(new Collection([$account]))->setRange($this->start, $this->end);
$journals = $collector->getJournals(); $journals = $collector->getJournals();
$journals = $journals->reverse(); $journals = $journals->reverse();
$dayBeforeBalance = Steam::balance($account, $date);
$startBalance = $dayBeforeBalance; $startBalance = $dayBeforeBalance;

View File

@@ -17,7 +17,7 @@ namespace FireflyIII\Generator\Report\Budget;
use Carbon\Carbon; use Carbon\Carbon;
use FireflyIII\Generator\Report\ReportGeneratorInterface; use FireflyIII\Generator\Report\ReportGeneratorInterface;
use FireflyIII\Generator\Report\Support; use FireflyIII\Generator\Report\Support;
use FireflyIII\Helpers\Collector\JournalCollector; use FireflyIII\Helpers\Collector\JournalCollectorInterface;
use FireflyIII\Models\Transaction; use FireflyIII\Models\Transaction;
use FireflyIII\Models\TransactionType; use FireflyIII\Models\TransactionType;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
@@ -184,7 +184,8 @@ class MonthReportGenerator extends Support implements ReportGeneratorInterface
return $this->expenses; 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) $collector->setAccounts($this->accounts)->setRange($this->start, $this->end)
->setTypes([TransactionType::WITHDRAWAL]) ->setTypes([TransactionType::WITHDRAWAL])
->setBudgets($this->budgets)->withOpposingAccount()->disableFilter(); ->setBudgets($this->budgets)->withOpposingAccount()->disableFilter();

View File

@@ -17,7 +17,7 @@ namespace FireflyIII\Generator\Report\Category;
use Carbon\Carbon; use Carbon\Carbon;
use FireflyIII\Generator\Report\ReportGeneratorInterface; use FireflyIII\Generator\Report\ReportGeneratorInterface;
use FireflyIII\Generator\Report\Support; use FireflyIII\Generator\Report\Support;
use FireflyIII\Helpers\Collector\JournalCollector; use FireflyIII\Helpers\Collector\JournalCollectorInterface;
use FireflyIII\Models\Transaction; use FireflyIII\Models\Transaction;
use FireflyIII\Models\TransactionType; use FireflyIII\Models\TransactionType;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
@@ -194,7 +194,8 @@ class MonthReportGenerator extends Support implements ReportGeneratorInterface
return $this->expenses; 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) $collector->setAccounts($this->accounts)->setRange($this->start, $this->end)
->setTypes([TransactionType::WITHDRAWAL, TransactionType::TRANSFER]) ->setTypes([TransactionType::WITHDRAWAL, TransactionType::TRANSFER])
->setCategories($this->categories)->withOpposingAccount()->disableFilter(); ->setCategories($this->categories)->withOpposingAccount()->disableFilter();
@@ -216,7 +217,8 @@ class MonthReportGenerator extends Support implements ReportGeneratorInterface
return $this->income; 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) $collector->setAccounts($this->accounts)->setRange($this->start, $this->end)
->setTypes([TransactionType::DEPOSIT, TransactionType::TRANSFER]) ->setTypes([TransactionType::DEPOSIT, TransactionType::TRANSFER])
->setCategories($this->categories)->withOpposingAccount(); ->setCategories($this->categories)->withOpposingAccount();

View File

@@ -17,7 +17,6 @@ use Amount;
use Carbon\Carbon; use Carbon\Carbon;
use ExpandedForm; use ExpandedForm;
use FireflyIII\Exceptions\FireflyException; use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Helpers\Collector\JournalCollector;
use FireflyIII\Helpers\Collector\JournalCollectorInterface; use FireflyIII\Helpers\Collector\JournalCollectorInterface;
use FireflyIII\Http\Requests\AccountFormRequest; use FireflyIII\Http\Requests\AccountFormRequest;
use FireflyIII\Models\Account; use FireflyIII\Models\Account;
@@ -273,7 +272,8 @@ class AccountController extends Controller
$chartUri = route('chart.account.all', [$account->id]); $chartUri = route('chart.account.all', [$account->id]);
// replace with journal collector: // 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); $collector->setAccounts(new Collection([$account]))->setLimit($pageSize)->setPage($page);
$journals = $collector->getPaginatedJournals(); $journals = $collector->getPaginatedJournals();
$journals->setPath('accounts/show/' . $account->id . '/all'); $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')]); $chartUri = route('chart.account.period', [$account->id, $carbon->format('Y-m-d')]);
// replace with journal collector: // 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); $collector->setAccounts(new Collection([$account]))->setRange($start, $end)->setLimit($pageSize)->setPage($page);
$journals = $collector->getPaginatedJournals(); $journals = $collector->getPaginatedJournals();
$journals->setPath('accounts/show/' . $account->id . '/' . $date); $journals->setPath('accounts/show/' . $account->id . '/' . $date);

View File

@@ -13,7 +13,6 @@ declare(strict_types = 1);
namespace FireflyIII\Http\Controllers; namespace FireflyIII\Http\Controllers;
use Crypt;
use File; use File;
use FireflyIII\Exceptions\FireflyException; use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Http\Requests\AttachmentFormRequest; use FireflyIII\Http\Requests\AttachmentFormRequest;
@@ -24,7 +23,6 @@ use Log;
use Preferences; use Preferences;
use Response; use Response;
use Session; use Session;
use Storage;
use URL; use URL;
use View; use View;

View File

@@ -14,7 +14,7 @@ declare(strict_types = 1);
namespace FireflyIII\Http\Controllers; namespace FireflyIII\Http\Controllers;
use Carbon\Carbon; use Carbon\Carbon;
use FireflyIII\Helpers\Collector\JournalCollector; use FireflyIII\Helpers\Collector\JournalCollectorInterface;
use FireflyIII\Http\Requests\BillFormRequest; use FireflyIII\Http\Requests\BillFormRequest;
use FireflyIII\Models\Bill; use FireflyIII\Models\Bill;
use FireflyIII\Models\TransactionJournal; use FireflyIII\Models\TransactionJournal;
@@ -213,8 +213,10 @@ class BillController extends Controller
$overallAverage = $repository->getOverallAverage($bill); $overallAverage = $repository->getOverallAverage($bill);
// use collector: // use collector:
$collector = new JournalCollector(auth()->user()); /** @var JournalCollectorInterface $collector */
$collector->setAllAssetAccounts()->setBills(new Collection([$bill]))->setLimit($pageSize)->setPage($page); $collector = app(JournalCollectorInterface::class, [auth()->user()]);
$collector->setAllAssetAccounts()->setBills(new Collection([$bill]))->setLimit($pageSize)->setPage($page)->withBudgetInformation()
->withBudgetInformation();
$journals = $collector->getPaginatedJournals(); $journals = $collector->getPaginatedJournals();
$journals->setPath('/bills/show/' . $bill->id); $journals->setPath('/bills/show/' . $bill->id);

View File

@@ -16,7 +16,7 @@ namespace FireflyIII\Http\Controllers;
use Amount; use Amount;
use Carbon\Carbon; use Carbon\Carbon;
use FireflyIII\Exceptions\FireflyException; use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Helpers\Collector\JournalCollector; use FireflyIII\Helpers\Collector\JournalCollectorInterface;
use FireflyIII\Http\Requests\BudgetFormRequest; use FireflyIII\Http\Requests\BudgetFormRequest;
use FireflyIII\Http\Requests\BudgetIncomeRequest; use FireflyIII\Http\Requests\BudgetIncomeRequest;
use FireflyIII\Models\AccountType; use FireflyIII\Models\AccountType;
@@ -210,7 +210,8 @@ class BudgetController extends Controller
); );
// collector // 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(); $collector->setAllAssetAccounts()->setRange($start, $end)->setLimit($pageSize)->setPage($page)->withoutBudget();
$journals = $collector->getPaginatedJournals(); $journals = $collector->getPaginatedJournals();
$journals->setPath('/budgets/list/noBudget'); $journals->setPath('/budgets/list/noBudget');
@@ -251,7 +252,8 @@ class BudgetController extends Controller
$accounts = $accountRepository->getAccountsByType([AccountType::DEFAULT, AccountType::ASSET, AccountType::CASH]); $accounts = $accountRepository->getAccountsByType([AccountType::DEFAULT, AccountType::ASSET, AccountType::CASH]);
$repetition = null; $repetition = null;
// collector: // 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(); $collector->setAllAssetAccounts()->setRange($start, $end)->setBudget($budget)->setLimit($pageSize)->setPage($page)->withCategoryInformation();
$journals = $collector->getPaginatedJournals(); $journals = $collector->getPaginatedJournals();
$journals->setPath('/budgets/show/' . $budget->id); $journals->setPath('/budgets/show/' . $budget->id);
@@ -298,7 +300,8 @@ class BudgetController extends Controller
// collector: // 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(); $collector->setAllAssetAccounts()->setRange($start, $end)->setBudget($budget)->setLimit($pageSize)->setPage($page)->withCategoryInformation();
$journals = $collector->getPaginatedJournals(); $journals = $collector->getPaginatedJournals();
$journals->setPath('/budgets/show/' . $budget->id . '/' . $repetition->id); $journals->setPath('/budgets/show/' . $budget->id . '/' . $repetition->id);

View File

@@ -14,7 +14,6 @@ declare(strict_types = 1);
namespace FireflyIII\Http\Controllers; namespace FireflyIII\Http\Controllers;
use Carbon\Carbon; use Carbon\Carbon;
use FireflyIII\Helpers\Collector\JournalCollector;
use FireflyIII\Helpers\Collector\JournalCollectorInterface; use FireflyIII\Helpers\Collector\JournalCollectorInterface;
use FireflyIII\Http\Requests\CategoryFormRequest; use FireflyIII\Http\Requests\CategoryFormRequest;
use FireflyIII\Models\AccountType; use FireflyIII\Models\AccountType;
@@ -165,7 +164,8 @@ class CategoryController extends Controller
$end = session('end', Carbon::now()->startOfMonth()); $end = session('end', Carbon::now()->startOfMonth());
// new collector: // new collector:
$collector = new JournalCollector(auth()->user()); /** @var JournalCollectorInterface $collector */
$collector = app(JournalCollectorInterface::class, [auth()->user()]);
$collector->setAllAssetAccounts()->setRange($start, $end)->withoutCategory();//->groupJournals(); $collector->setAllAssetAccounts()->setRange($start, $end)->withoutCategory();//->groupJournals();
$journals = $collector->getJournals(); $journals = $collector->getJournals();
$subTitle = trans( $subTitle = trans(

View File

@@ -15,7 +15,7 @@ namespace FireflyIII\Http\Controllers\Chart;
use Carbon\Carbon; use Carbon\Carbon;
use FireflyIII\Generator\Chart\Basic\GeneratorInterface; use FireflyIII\Generator\Chart\Basic\GeneratorInterface;
use FireflyIII\Helpers\Collector\JournalCollector; use FireflyIII\Helpers\Collector\JournalCollectorInterface;
use FireflyIII\Http\Controllers\Controller; use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Models\Budget; use FireflyIII\Models\Budget;
use FireflyIII\Models\LimitRepetition; use FireflyIII\Models\LimitRepetition;
@@ -442,7 +442,8 @@ class BudgetController extends Controller
private function spentInPeriodWithout(Carbon $start, Carbon $end): array private function spentInPeriodWithout(Carbon $start, Carbon $end): array
{ {
// collector // collector
$collector = new JournalCollector(auth()->user()); /** @var JournalCollectorInterface $collector */
$collector = app(JournalCollectorInterface::class, [auth()->user()]);
$types = [TransactionType::WITHDRAWAL]; $types = [TransactionType::WITHDRAWAL];
$collector->setAllAssetAccounts()->setTypes($types)->setRange($start, $end)->withoutBudget(); $collector->setAllAssetAccounts()->setTypes($types)->setRange($start, $end)->withoutBudget();
$journals = $collector->getJournals(); $journals = $collector->getJournals();

View File

@@ -17,7 +17,7 @@ namespace FireflyIII\Http\Controllers\Chart;
use Carbon\Carbon; use Carbon\Carbon;
use FireflyIII\Generator\Chart\Basic\GeneratorInterface; use FireflyIII\Generator\Chart\Basic\GeneratorInterface;
use FireflyIII\Generator\Report\Category\MonthReportGenerator; use FireflyIII\Generator\Report\Category\MonthReportGenerator;
use FireflyIII\Helpers\Collector\JournalCollector; use FireflyIII\Helpers\Collector\JournalCollectorInterface;
use FireflyIII\Http\Controllers\Controller; use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Models\Budget; use FireflyIII\Models\Budget;
use FireflyIII\Models\LimitRepetition; use FireflyIII\Models\LimitRepetition;
@@ -107,7 +107,8 @@ class BudgetReportController extends Controller
// also collect all transactions NOT in these budgets. // also collect all transactions NOT in these budgets.
if ($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::WITHDRAWAL]); $collector->setAccounts($accounts)->setRange($start, $end)->setTypes([TransactionType::WITHDRAWAL]);
$journals = $collector->getJournals(); $journals = $collector->getJournals();
$sum = strval($journals->sum('transaction_amount')); $sum = strval($journals->sum('transaction_amount'));
@@ -164,7 +165,8 @@ class BudgetReportController extends Controller
// also collect all transactions NOT in these budgets. // also collect all transactions NOT in these budgets.
if ($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::WITHDRAWAL]); $collector->setAccounts($accounts)->setRange($start, $end)->setTypes([TransactionType::WITHDRAWAL]);
$journals = $collector->getJournals(); $journals = $collector->getJournals();
$sum = strval($journals->sum('transaction_amount')); $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 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]) $collector->setAccounts($accounts)->setRange($start, $end)->setTypes([TransactionType::WITHDRAWAL, TransactionType::TRANSFER])
->setBudgets($budgets)->withOpposingAccount()->disableFilter(); ->setBudgets($budgets)->withOpposingAccount()->disableFilter();
$accountIds = $accounts->pluck('id')->toArray(); $accountIds = $accounts->pluck('id')->toArray();

View File

@@ -17,7 +17,7 @@ namespace FireflyIII\Http\Controllers\Chart;
use Carbon\Carbon; use Carbon\Carbon;
use FireflyIII\Generator\Chart\Basic\GeneratorInterface; use FireflyIII\Generator\Chart\Basic\GeneratorInterface;
use FireflyIII\Generator\Report\Category\MonthReportGenerator; use FireflyIII\Generator\Report\Category\MonthReportGenerator;
use FireflyIII\Helpers\Collector\JournalCollector; use FireflyIII\Helpers\Collector\JournalCollectorInterface;
use FireflyIII\Http\Controllers\Controller; use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Models\Category; use FireflyIII\Models\Category;
use FireflyIII\Models\Transaction; use FireflyIII\Models\Transaction;
@@ -106,7 +106,8 @@ class CategoryReportController extends Controller
// also collect all transactions NOT in these categories. // also collect all transactions NOT in these categories.
if ($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::WITHDRAWAL]); $collector->setAccounts($accounts)->setRange($start, $end)->setTypes([TransactionType::WITHDRAWAL]);
$journals = $collector->getJournals(); $journals = $collector->getJournals();
$sum = strval($journals->sum('transaction_amount')); $sum = strval($journals->sum('transaction_amount'));
@@ -163,7 +164,8 @@ class CategoryReportController extends Controller
// also collect others? // also collect others?
if ($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]); $collector->setAccounts($accounts)->setRange($start, $end)->setTypes([TransactionType::DEPOSIT]);
$journals = $collector->getJournals(); $journals = $collector->getJournals();
$sum = strval($journals->sum('transaction_amount')); $sum = strval($journals->sum('transaction_amount'));
@@ -219,7 +221,8 @@ class CategoryReportController extends Controller
// also collect all transactions NOT in these categories. // also collect all transactions NOT in these categories.
if ($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::WITHDRAWAL]); $collector->setAccounts($accounts)->setRange($start, $end)->setTypes([TransactionType::WITHDRAWAL]);
$journals = $collector->getJournals(); $journals = $collector->getJournals();
$sum = strval($journals->sum('transaction_amount')); $sum = strval($journals->sum('transaction_amount'));
@@ -274,7 +277,8 @@ class CategoryReportController extends Controller
} }
if ($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]); $collector->setAccounts($accounts)->setRange($start, $end)->setTypes([TransactionType::DEPOSIT]);
$journals = $collector->getJournals(); $journals = $collector->getJournals();
$sum = strval($journals->sum('transaction_amount')); $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 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]) $collector->setAccounts($accounts)->setRange($start, $end)->setTypes([TransactionType::WITHDRAWAL, TransactionType::TRANSFER])
->setCategories($categories)->withOpposingAccount()->disableFilter(); ->setCategories($categories)->withOpposingAccount()->disableFilter();
$accountIds = $accounts->pluck('id')->toArray(); $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 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]) $collector->setAccounts($accounts)->setRange($start, $end)->setTypes([TransactionType::DEPOSIT, TransactionType::TRANSFER])
->setCategories($categories)->withOpposingAccount(); ->setCategories($categories)->withOpposingAccount();
$accountIds = $accounts->pluck('id')->toArray(); $accountIds = $accounts->pluck('id')->toArray();

View File

@@ -13,6 +13,7 @@ declare(strict_types = 1);
namespace FireflyIII\Http\Controllers; namespace FireflyIII\Http\Controllers;
use FireflyConfig;
use FireflyIII\Models\AccountType; use FireflyIII\Models\AccountType;
use FireflyIII\Models\Transaction; use FireflyIII\Models\Transaction;
use FireflyIII\Models\TransactionJournal; use FireflyIII\Models\TransactionJournal;
@@ -23,7 +24,6 @@ use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Routing\Controller as BaseController; use Illuminate\Routing\Controller as BaseController;
use Session; use Session;
use View; use View;
use FireflyConfig;
/** /**
* Class Controller * Class Controller

View File

@@ -15,7 +15,7 @@ namespace FireflyIII\Http\Controllers;
use Amount; use Amount;
use Carbon\Carbon; use Carbon\Carbon;
use FireflyIII\Exceptions\FireflyException; use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Helpers\Collector\JournalCollector; use FireflyIII\Helpers\Collector\JournalCollectorInterface;
use FireflyIII\Models\AccountType; use FireflyIII\Models\AccountType;
use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Repositories\Account\AccountTaskerInterface; use FireflyIII\Repositories\Account\AccountTaskerInterface;
@@ -280,7 +280,8 @@ class JsonController extends Controller
$types = [$type]; $types = [$type];
// use journal collector instead: // 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); $collector->setTypes($types)->setLimit(100)->setPage(1);
$journals = $collector->getJournals(); $journals = $collector->getJournals();
foreach ($journals as $j) { foreach ($journals as $j) {

View File

@@ -17,7 +17,7 @@ namespace FireflyIII\Http\Controllers\Popup;
use Carbon\Carbon; use Carbon\Carbon;
use FireflyIII\Exceptions\FireflyException; use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Helpers\Collection\BalanceLine; use FireflyIII\Helpers\Collection\BalanceLine;
use FireflyIII\Helpers\Collector\JournalCollector; use FireflyIII\Helpers\Collector\JournalCollectorInterface;
use FireflyIII\Http\Controllers\Controller; use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Models\Transaction; use FireflyIII\Models\Transaction;
use FireflyIII\Models\TransactionJournal; use FireflyIII\Models\TransactionJournal;
@@ -102,7 +102,8 @@ class ReportController extends Controller
switch (true) { switch (true) {
case ($role === BalanceLine::ROLE_DEFAULTROLE && !is_null($budget->id)): case ($role === BalanceLine::ROLE_DEFAULTROLE && !is_null($budget->id)):
$collector = new JournalCollector(auth()->user()); /** @var JournalCollectorInterface $collector */
$collector = app(JournalCollectorInterface::class, [auth()->user()]);
$collector $collector
->setAccounts(new Collection([$account])) ->setAccounts(new Collection([$account]))
->setRange($attributes['startDate'], $attributes['endDate']) ->setRange($attributes['startDate'], $attributes['endDate'])
@@ -112,8 +113,8 @@ class ReportController extends Controller
break; break;
case ($role === BalanceLine::ROLE_DEFAULTROLE && is_null($budget->id)): case ($role === BalanceLine::ROLE_DEFAULTROLE && is_null($budget->id)):
$budget->name = strval(trans('firefly.no_budget')); $budget->name = strval(trans('firefly.no_budget'));
// collector /** @var JournalCollectorInterface $collector */
$collector = new JournalCollector(auth()->user()); $collector = app(JournalCollectorInterface::class, [auth()->user()]);
$collector $collector
->setAccounts(new Collection([$account])) ->setAccounts(new Collection([$account]))
->setTypes($types) ->setTypes($types)
@@ -122,8 +123,8 @@ class ReportController extends Controller
$journals = $collector->getJournals(); $journals = $collector->getJournals();
break; break;
case ($role === BalanceLine::ROLE_DIFFROLE): case ($role === BalanceLine::ROLE_DIFFROLE):
// journals no budget, not corrected by a tag. /** @var JournalCollectorInterface $collector */
$collector = new JournalCollector(auth()->user()); $collector = app(JournalCollectorInterface::class, [auth()->user()]);
$collector $collector
->setAccounts(new Collection([$account])) ->setAccounts(new Collection([$account]))
->setTypes($types) ->setTypes($types)
@@ -167,7 +168,8 @@ class ReportController extends Controller
/** @var BudgetRepositoryInterface $repository */ /** @var BudgetRepositoryInterface $repository */
$repository = app(BudgetRepositoryInterface::class); $repository = app(BudgetRepositoryInterface::class);
$budget = $repository->find(intval($attributes['budgetId'])); $budget = $repository->find(intval($attributes['budgetId']));
$collector = new JournalCollector(auth()->user()); /** @var JournalCollectorInterface $collector */
$collector = app(JournalCollectorInterface::class, [auth()->user()]);
$collector $collector
->setAccounts($attributes['accounts']) ->setAccounts($attributes['accounts'])
@@ -200,8 +202,8 @@ class ReportController extends Controller
$repository = app(CategoryRepositoryInterface::class); $repository = app(CategoryRepositoryInterface::class);
$category = $repository->find(intval($attributes['categoryId'])); $category = $repository->find(intval($attributes['categoryId']));
$types = [TransactionType::WITHDRAWAL, TransactionType::TRANSFER]; $types = [TransactionType::WITHDRAWAL, TransactionType::TRANSFER];
// get journal collector instead: /** @var JournalCollectorInterface $collector */
$collector = new JournalCollector(auth()->user()); $collector = app(JournalCollectorInterface::class, [auth()->user()]);
$collector->setAccounts($attributes['accounts'])->setTypes($types) $collector->setAccounts($attributes['accounts'])->setTypes($types)
->setRange($attributes['startDate'], $attributes['endDate']) ->setRange($attributes['startDate'], $attributes['endDate'])
->setCategory($category); ->setCategory($category);
@@ -227,7 +229,8 @@ class ReportController extends Controller
$account = $repository->find(intval($attributes['accountId'])); $account = $repository->find(intval($attributes['accountId']));
$types = [TransactionType::WITHDRAWAL, TransactionType::TRANSFER]; $types = [TransactionType::WITHDRAWAL, 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); $collector->setAccounts(new Collection([$account]))->setRange($attributes['startDate'], $attributes['endDate'])->setTypes($types);
$journals = $collector->getJournals(); $journals = $collector->getJournals();
$report = $attributes['accounts']->pluck('id')->toArray(); // accounts used in this report $report = $attributes['accounts']->pluck('id')->toArray(); // accounts used in this report
@@ -262,7 +265,8 @@ class ReportController extends Controller
$repository = app(AccountRepositoryInterface::class); $repository = app(AccountRepositoryInterface::class);
$account = $repository->find(intval($attributes['accountId'])); $account = $repository->find(intval($attributes['accountId']));
$types = [TransactionType::DEPOSIT, TransactionType::TRANSFER]; $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); $collector->setAccounts(new Collection([$account]))->setRange($attributes['startDate'], $attributes['endDate'])->setTypes($types);
$journals = $collector->getJournals(); $journals = $collector->getJournals();
$report = $attributes['accounts']->pluck('id')->toArray(); // accounts used in this report $report = $attributes['accounts']->pluck('id')->toArray(); // accounts used in this report

View File

@@ -13,7 +13,7 @@ declare(strict_types = 1);
namespace FireflyIII\Http\Controllers; namespace FireflyIII\Http\Controllers;
use FireflyIII\Helpers\Collector\JournalCollector; use FireflyIII\Helpers\Collector\JournalCollectorInterface;
use FireflyIII\Http\Requests\TagFormRequest; use FireflyIII\Http\Requests\TagFormRequest;
use FireflyIII\Models\Tag; use FireflyIII\Models\Tag;
use FireflyIII\Models\Transaction; use FireflyIII\Models\Transaction;
@@ -210,7 +210,7 @@ class TagController extends Controller
* *
* @return View * @return View
*/ */
public function show(Tag $tag) public function show(JournalCollectorInterface $collector, Tag $tag)
{ {
$subTitle = $tag->tag; $subTitle = $tag->tag;
$subTitleIcon = 'fa-tag'; $subTitleIcon = 'fa-tag';
@@ -218,9 +218,7 @@ class TagController extends Controller
$pageSize = intval(Preferences::get('transactionPageSize', 50)->data); $pageSize = intval(Preferences::get('transactionPageSize', 50)->data);
// use collector: // use collector:
// replace with journal collector: $collector->setAllAssetAccounts()->setLimit($pageSize)->setPage($page)->setTag($tag)->withBudgetInformation()->withCategoryInformation();
$collector = new JournalCollector(auth()->user());
$collector->setAllAssetAccounts()->setLimit($pageSize)->setPage($page)->setTag($tag);
$journals = $collector->getPaginatedJournals(); $journals = $collector->getPaginatedJournals();
$journals->setPath('tags/show/' . $tag->id); $journals->setPath('tags/show/' . $tag->id);

View File

@@ -14,7 +14,7 @@ declare(strict_types = 1);
namespace FireflyIII\Jobs; namespace FireflyIII\Jobs;
use Carbon\Carbon; use Carbon\Carbon;
use FireflyIII\Helpers\Collector\JournalCollector; use FireflyIII\Helpers\Collector\JournalCollectorInterface;
use FireflyIII\Models\RuleGroup; use FireflyIII\Models\RuleGroup;
use FireflyIII\Rules\Processor; use FireflyIII\Rules\Processor;
use FireflyIII\User; use FireflyIII\User;
@@ -155,7 +155,8 @@ class ExecuteRuleGroupOnExistingTransactions extends Job implements ShouldQueue
*/ */
protected function collectJournals() 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); $collector->setAccounts($this->accounts)->setRange($this->startDate, $this->endDate);
return $collector->getJournals(); return $collector->getJournals();

View File

@@ -14,6 +14,7 @@ declare(strict_types = 1);
namespace FireflyIII\Rules; namespace FireflyIII\Rules;
use FireflyIII\Helpers\Collector\JournalCollector; use FireflyIII\Helpers\Collector\JournalCollector;
use FireflyIII\Helpers\Collector\JournalCollectorInterface;
use FireflyIII\Models\Transaction; use FireflyIII\Models\Transaction;
use FireflyIII\Models\TransactionType; use FireflyIII\Models\TransactionType;
use FireflyIII\Repositories\Journal\JournalTaskerInterface; use FireflyIII\Repositories\Journal\JournalTaskerInterface;
@@ -77,7 +78,8 @@ class TransactionMatcher
// - the maximum number of transactions to search in have been searched // - the maximum number of transactions to search in have been searched
do { do {
// Fetch a batch of transactions from the database // 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); $collector->setAllAssetAccounts()->setLimit($pageSize)->setPage($page)->setTypes($this->transactionTypes);
$set = $collector->getPaginatedJournals(); $set = $collector->getPaginatedJournals();
Log::debug(sprintf('Found %d journals to check. ', $set->count())); Log::debug(sprintf('Found %d journals to check. ', $set->count()));

View File

@@ -14,7 +14,7 @@ declare(strict_types = 1);
namespace FireflyIII\Support\Search; namespace FireflyIII\Support\Search;
use FireflyIII\Helpers\Collector\JournalCollector; use FireflyIII\Helpers\Collector\JournalCollectorInterface;
use FireflyIII\Models\Account; use FireflyIII\Models\Account;
use FireflyIII\Models\AccountType; use FireflyIII\Models\AccountType;
use FireflyIII\Models\Budget; use FireflyIII\Models\Budget;
@@ -163,7 +163,8 @@ class Search implements SearchInterface
$page = 1; $page = 1;
$result = new Collection(); $result = new Collection();
do { do {
$collector = new JournalCollector($this->user); /** @var JournalCollectorInterface $collector */
$collector = app(JournalCollectorInterface::class, [$this->user]);
$collector->setAllAssetAccounts()->setLimit($pageSize)->setPage($page); $collector->setAllAssetAccounts()->setLimit($pageSize)->setPage($page);
$set = $collector->getPaginatedJournals(); $set = $collector->getPaginatedJournals();
Log::debug(sprintf('Found %d journals to check. ', $set->count())); Log::debug(sprintf('Found %d journals to check. ', $set->count()));

View File

@@ -60,15 +60,16 @@ class AccountControllerTest extends TestCase
*/ */
public function testDestroy() public function testDestroy()
{ {
$this->session(['accounts.delete.url' => 'http://localhost/accounts/show/1']);
$repository = $this->mock(AccountRepositoryInterface::class); $repository = $this->mock(AccountRepositoryInterface::class);
$repository->shouldReceive('find')->withArgs([0])->once()->andReturn(new Account); $repository->shouldReceive('find')->withArgs([0])->once()->andReturn(new Account);
$repository->shouldReceive('destroy')->andReturn(true); $repository->shouldReceive('destroy')->andReturn(true);
$this->session(['accounts.delete.url' => 'http://localhost']);
$this->be($this->user()); $this->be($this->user());
$this->call('post', route('accounts.destroy', [1])); $this->call('post', route('accounts.destroy', [1]));
$this->assertResponseStatus(302); $this->assertResponseStatus(302);
$this->assertSessionHas('success'); $this->assertSessionHas('success');
} }
/** /**
@@ -85,6 +86,7 @@ class AccountControllerTest extends TestCase
/** /**
* @covers FireflyIII\Http\Controllers\AccountController::index * @covers FireflyIII\Http\Controllers\AccountController::index
* @covers FireflyIII\Http\Controllers\AccountController::isInArray
* @dataProvider dateRangeProvider * @dataProvider dateRangeProvider
* *
* @param string $range * @param string $range
@@ -101,6 +103,7 @@ class AccountControllerTest extends TestCase
/** /**
* @covers FireflyIII\Http\Controllers\AccountController::show * @covers FireflyIII\Http\Controllers\AccountController::show
* @covers FireflyIII\Http\Controllers\AccountController::periodEntries
* @dataProvider dateRangeProvider * @dataProvider dateRangeProvider
* *
* @param string $range * @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 * @dataProvider dateRangeProvider
* *
* @param string $range * @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 * @dataProvider dateRangeProvider
* *
* @param string $range * @param string $range

View File

@@ -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() public function testPostIndex()
{ {

View File

@@ -45,6 +45,7 @@ class AttachmentControllerTest extends TestCase
public function testDestroy() public function testDestroy()
{ {
$this->session(['attachments.delete.url' => 'http://localhost']); $this->session(['attachments.delete.url' => 'http://localhost']);
$repository = $this->mock(AttachmentRepositoryInterface::class); $repository = $this->mock(AttachmentRepositoryInterface::class);
$repository->shouldReceive('destroy')->andReturn(true); $repository->shouldReceive('destroy')->andReturn(true);
$this->be($this->user()); $this->be($this->user());