mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-02-25 18:45:27 -06:00
Fix #2401
This commit is contained in:
parent
b085ee3437
commit
90c60e55f7
@ -311,9 +311,7 @@ class TransactionGroupRepository implements TransactionGroupRepositoryInterfac
|
|||||||
{
|
{
|
||||||
/** @var GroupUpdateService $service */
|
/** @var GroupUpdateService $service */
|
||||||
$service = app(GroupUpdateService::class);
|
$service = app(GroupUpdateService::class);
|
||||||
$updatedGroup = $service->update($transactionGroup, $data);
|
return $service->update($transactionGroup, $data);
|
||||||
|
|
||||||
return $updatedGroup;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -27,6 +27,7 @@ use FireflyIII\Exceptions\FireflyException;
|
|||||||
use FireflyIII\Factory\TransactionJournalFactory;
|
use FireflyIII\Factory\TransactionJournalFactory;
|
||||||
use FireflyIII\Models\TransactionGroup;
|
use FireflyIII\Models\TransactionGroup;
|
||||||
use FireflyIII\Models\TransactionJournal;
|
use FireflyIII\Models\TransactionJournal;
|
||||||
|
use FireflyIII\Services\Internal\Destroy\JournalDestroyService;
|
||||||
use Log;
|
use Log;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -67,6 +68,9 @@ class GroupUpdateService
|
|||||||
|
|
||||||
Log::debug('Going to update split group.');
|
Log::debug('Going to update split group.');
|
||||||
|
|
||||||
|
$existing = $transactionGroup->transactionJournals->pluck('id')->toArray();
|
||||||
|
$updated = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int $index
|
* @var int $index
|
||||||
* @var array $transaction
|
* @var array $transaction
|
||||||
@ -96,9 +100,20 @@ class GroupUpdateService
|
|||||||
if (null !== $journal) {
|
if (null !== $journal) {
|
||||||
Log::debug('Call updateTransactionJournal');
|
Log::debug('Call updateTransactionJournal');
|
||||||
$this->updateTransactionJournal($transactionGroup, $journal, $transaction);
|
$this->updateTransactionJournal($transactionGroup, $journal, $transaction);
|
||||||
|
$updated[] = $journal->id;
|
||||||
Log::debug('Done calling updateTransactionJournal');
|
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();
|
app('preferences')->mark();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user