diff --git a/app/Http/Controllers/AccountController.php b/app/Http/Controllers/AccountController.php index e16a91807b..969adeb3c3 100644 --- a/app/Http/Controllers/AccountController.php +++ b/app/Http/Controllers/AccountController.php @@ -189,9 +189,10 @@ class AccountController extends Controller public function show(ARI $repository, Account $account) { $page = intval(Input::get('page')) == 0 ? 1 : intval(Input::get('page')); + $pageSize = Preferences::get('transactionPageSize', 50)->data; $subTitleIcon = Config::get('firefly.subTitlesByIdentifier.' . $account->accountType->type); $what = Config::get('firefly.shortNamesByFullName.' . $account->accountType->type); - $journals = $repository->getJournals($account, $page); + $journals = $repository->getJournals($account, $page, $pageSize); $subTitle = trans('firefly.details_for_' . $what, ['name' => $account->name]); $journals->setPath('accounts/show/' . $account->id); diff --git a/app/Repositories/Account/AccountRepository.php b/app/Repositories/Account/AccountRepository.php index 5de3ef5e38..c07260159d 100644 --- a/app/Repositories/Account/AccountRepository.php +++ b/app/Repositories/Account/AccountRepository.php @@ -282,12 +282,13 @@ class AccountRepository implements AccountRepositoryInterface /** * @param Account $account * @param int $page + * @param int $pageSize * * @return LengthAwarePaginator */ - public function getJournals(Account $account, int $page): LengthAwarePaginator + public function getJournals(Account $account, int $page, int $pageSize = 50): LengthAwarePaginator { - $offset = ($page - 1) * 50; + $offset = ($page - 1) * $pageSize; $query = $this->user ->transactionJournals() ->expanded() @@ -298,8 +299,8 @@ class AccountRepository implements AccountRepositoryInterface ->orderBy('transaction_journals.id', 'DESC'); $count = $query->count(); - $set = $query->take(50)->offset($offset)->get(TransactionJournal::QUERYFIELDS); - $paginator = new LengthAwarePaginator($set, $count, 50, $page); + $set = $query->take($pageSize)->offset($offset)->get(TransactionJournal::QUERYFIELDS); + $paginator = new LengthAwarePaginator($set, $count, $pageSize, $page); return $paginator; diff --git a/app/Repositories/Account/AccountRepositoryInterface.php b/app/Repositories/Account/AccountRepositoryInterface.php index 68fb208b0b..7eed5eb3a3 100644 --- a/app/Repositories/Account/AccountRepositoryInterface.php +++ b/app/Repositories/Account/AccountRepositoryInterface.php @@ -123,11 +123,11 @@ interface AccountRepositoryInterface /** * @param Account $account - * @param $page - * + * @param int $page + * @param int $pageSize * @return LengthAwarePaginator */ - public function getJournals(Account $account, int $page): LengthAwarePaginator; + public function getJournals(Account $account, int $page, int $pageSize = 50): LengthAwarePaginator; /** * @param Account $account