This commit is contained in:
James Cole 2019-08-12 16:54:48 +02:00
parent b085ee3437
commit 90c60e55f7
No known key found for this signature in database
GPG Key ID: C16961E655E74B5E
2 changed files with 16 additions and 3 deletions

View File

@ -311,9 +311,7 @@ class TransactionGroupRepository implements TransactionGroupRepositoryInterfac
{
/** @var GroupUpdateService $service */
$service = app(GroupUpdateService::class);
$updatedGroup = $service->update($transactionGroup, $data);
return $updatedGroup;
return $service->update($transactionGroup, $data);
}
/**

View File

@ -27,6 +27,7 @@ use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Factory\TransactionJournalFactory;
use FireflyIII\Models\TransactionGroup;
use FireflyIII\Models\TransactionJournal;
use FireflyIII\Services\Internal\Destroy\JournalDestroyService;
use Log;
/**
@ -67,6 +68,9 @@ class GroupUpdateService
Log::debug('Going to update split group.');
$existing = $transactionGroup->transactionJournals->pluck('id')->toArray();
$updated = [];
/**
* @var int $index
* @var array $transaction
@ -96,9 +100,20 @@ class GroupUpdateService
if (null !== $journal) {
Log::debug('Call updateTransactionJournal');
$this->updateTransactionJournal($transactionGroup, $journal, $transaction);
$updated[] = $journal->id;
Log::debug('Done calling updateTransactionJournal');
}
}
$result = array_diff($existing, $updated);
if (count($result) > 0) {
/** @var string $deletedId */
foreach ($result as $deletedId) {
$journal = $transactionGroup->transactionJournals()->find((int)$deletedId);
/** @var JournalDestroyService $service */
$service = app(JournalDestroyService::class);
$service->destroy($journal);
}
}
app('preferences')->mark();