From fe2def968493112b54815a7a3cd60cd22c8b2b0b Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 9 Mar 2025 09:53:36 +0100 Subject: [PATCH] Fix nullpointer. --- .../PiggyBank/PiggyBankRepository.php | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/app/Repositories/PiggyBank/PiggyBankRepository.php b/app/Repositories/PiggyBank/PiggyBankRepository.php index cdf2e86837..e99fa16363 100644 --- a/app/Repositories/PiggyBank/PiggyBankRepository.php +++ b/app/Repositories/PiggyBank/PiggyBankRepository.php @@ -305,15 +305,21 @@ class PiggyBankRepository implements PiggyBankRepositoryInterface, UserGroupInte public function getPiggyBanks(): Collection { - return PiggyBank::leftJoin('account_piggy_bank', 'account_piggy_bank.piggy_bank_id', '=', 'piggy_banks.id') - ->leftJoin('accounts', 'accounts.id', '=', 'account_piggy_bank.account_id') - ->where('accounts.user_id', $this->user->id) - ->with( - [ - 'objectGroups', - ] - ) - ->orderBy('piggy_banks.order', 'ASC')->distinct()->get(['piggy_banks.*']); + $query = PiggyBank::leftJoin('account_piggy_bank', 'account_piggy_bank.piggy_bank_id', '=', 'piggy_banks.id') + ->leftJoin('accounts', 'accounts.id', '=', 'account_piggy_bank.account_id'); + if (null === $this->user) { + $query->where('accounts.user_group_id', $this->userGroup->id); + } + if (null !== $this->user) { + $query->where('accounts.user_id', $this->user->id); + } + return $query + ->with( + [ + 'objectGroups', + ] + ) + ->orderBy('piggy_banks.order', 'ASC')->distinct()->get(['piggy_banks.*']); } public function getRepetition(PiggyBank $piggyBank, bool $overrule = false): ?PiggyBankRepetition