From f75e6430b1466ffdd5514dc4eb8bec039f140a2e Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 18 Jun 2023 06:26:38 +0200 Subject: [PATCH] Fix: nullpointer in billrepository. --- app/Repositories/Bill/BillRepository.php | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/app/Repositories/Bill/BillRepository.php b/app/Repositories/Bill/BillRepository.php index a4496990fe..f6d305842f 100644 --- a/app/Repositories/Bill/BillRepository.php +++ b/app/Repositories/Bill/BillRepository.php @@ -709,14 +709,16 @@ class BillRepository implements BillRepositoryInterface /** @var TransactionJournal $transactionJournal */ foreach ($set as $transactionJournal) { - /** @var Transaction $sourceTransaction */ + /** @var Transaction|null $sourceTransaction */ $sourceTransaction = $transactionJournal->transactions()->where('amount', '<', 0)->first(); - $amount = (string)$sourceTransaction->amount; - if ((int)$sourceTransaction->foreign_currency_id === (int)$currency->id) { - // use foreign amount instead! - $amount = (string)$sourceTransaction->foreign_amount; + if (null !== $sourceTransaction) { + $amount = (string)$sourceTransaction->amount; + if ((int)$sourceTransaction->foreign_currency_id === (int)$currency->id) { + // use foreign amount instead! + $amount = (string)$sourceTransaction->foreign_amount; + } + $return[$currency->id]['sum'] = bcadd($return[$currency->id]['sum'], $amount); } - $return[$currency->id]['sum'] = bcadd($return[$currency->id]['sum'], $amount); } } return $return;