From 8c9ad9da830bd42e888ebccf085b20fa050f97ee Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 27 Mar 2026 04:32:41 +0100 Subject: [PATCH] Improve running balance correction. --- app/Http/Controllers/Transaction/MassController.php | 7 +++++-- app/Services/Internal/Update/JournalUpdateService.php | 7 +++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Transaction/MassController.php b/app/Http/Controllers/Transaction/MassController.php index 775fbd676a..36cde3a113 100644 --- a/app/Http/Controllers/Transaction/MassController.php +++ b/app/Http/Controllers/Transaction/MassController.php @@ -170,7 +170,7 @@ final class MassController extends Controller */ public function update(MassEditJournalRequest $request): RedirectResponse { - $journalIds = $request->get('journals'); + $journalIds = $request->input('journals'); if (!is_array($journalIds)) { // TODO this is a weird error, should be caught. throw new FireflyException('This is not an array.'); @@ -250,6 +250,8 @@ final class MassController extends Controller private function updateJournal(int $journalId, MassEditJournalRequest $request): void { $journal = $this->repository->find($journalId); + $objects = TransactionGroupEventObjects::collectFromTransactionGroup($journal->transactionGroup); + if (!$journal instanceof TransactionJournal) { throw new FireflyException(sprintf('Trying to edit non-existent or deleted journal #%d', $journalId)); } @@ -274,8 +276,9 @@ final class MassController extends Controller // call service to update. $service->setData($data); $service->update(); + $updated = $service->getTransactionJournal(); + $objects->appendFromTransactionGroup($updated->transactionGroup); $flags = new TransactionGroupEventFlags(); - $objects = TransactionGroupEventObjects::collectFromTransactionGroup($journal->transactionGroup); event(new UpdatedSingleTransactionGroup($flags, $objects)); event(new WebhookMessagesRequestSending()); } diff --git a/app/Services/Internal/Update/JournalUpdateService.php b/app/Services/Internal/Update/JournalUpdateService.php index 421ad1102c..e0866e3e16 100644 --- a/app/Services/Internal/Update/JournalUpdateService.php +++ b/app/Services/Internal/Update/JournalUpdateService.php @@ -196,6 +196,13 @@ class JournalUpdateService Log::debug('Done with update journal routine'); } + public function getTransactionJournal(): ?TransactionJournal + { + return $this->transactionJournal; + } + + + /** * Get destination transaction. */