mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-12-17 03:49:22 +00:00
Add amount event.
This commit is contained in:
@@ -78,9 +78,7 @@ class GroupUpdateService
|
|||||||
if (1 === count($transactions) && 1 === $transactionGroup->transactionJournals()->count()) {
|
if (1 === count($transactions) && 1 === $transactionGroup->transactionJournals()->count()) {
|
||||||
/** @var TransactionJournal $first */
|
/** @var TransactionJournal $first */
|
||||||
$first = $transactionGroup->transactionJournals()->first();
|
$first = $transactionGroup->transactionJournals()->first();
|
||||||
Log::debug(
|
Log::debug(sprintf('Will now update journal #%d (only journal in group #%d)', $first->id, $transactionGroup->id));
|
||||||
sprintf('Will now update journal #%d (only journal in group #%d)', $first->id, $transactionGroup->id)
|
|
||||||
);
|
|
||||||
$this->updateTransactionJournal($transactionGroup, $first, reset($transactions));
|
$this->updateTransactionJournal($transactionGroup, $first, reset($transactions));
|
||||||
$transactionGroup->touch();
|
$transactionGroup->touch();
|
||||||
$transactionGroup->refresh();
|
$transactionGroup->refresh();
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace FireflyIII\Services\Internal\Update;
|
namespace FireflyIII\Services\Internal\Update;
|
||||||
|
|
||||||
use FireflyIII\Support\Facades\Preferences;
|
|
||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use Carbon\Exceptions\InvalidDateException;
|
use Carbon\Exceptions\InvalidDateException;
|
||||||
use Carbon\Exceptions\InvalidFormatException;
|
use Carbon\Exceptions\InvalidFormatException;
|
||||||
@@ -47,6 +46,7 @@ use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface;
|
|||||||
use FireflyIII\Repositories\TransactionGroup\TransactionGroupRepositoryInterface;
|
use FireflyIII\Repositories\TransactionGroup\TransactionGroupRepositoryInterface;
|
||||||
use FireflyIII\Services\Internal\Support\JournalServiceTrait;
|
use FireflyIII\Services\Internal\Support\JournalServiceTrait;
|
||||||
use FireflyIII\Support\Facades\FireflyConfig;
|
use FireflyIII\Support\Facades\FireflyConfig;
|
||||||
|
use FireflyIII\Support\Facades\Preferences;
|
||||||
use FireflyIII\Support\NullArrayObject;
|
use FireflyIII\Support\NullArrayObject;
|
||||||
use FireflyIII\Validation\AccountValidator;
|
use FireflyIII\Validation\AccountValidator;
|
||||||
use Illuminate\Support\Facades\Log;
|
use Illuminate\Support\Facades\Log;
|
||||||
@@ -66,9 +66,11 @@ class JournalUpdateService
|
|||||||
private array $data;
|
private array $data;
|
||||||
private ?Account $destinationAccount = null;
|
private ?Account $destinationAccount = null;
|
||||||
private ?Transaction $destinationTransaction = null;
|
private ?Transaction $destinationTransaction = null;
|
||||||
private array $metaDate = ['interest_date', 'book_date', 'process_date', 'due_date', 'payment_date',
|
private array $metaDate
|
||||||
|
= ['interest_date', 'book_date', 'process_date', 'due_date', 'payment_date',
|
||||||
'invoice_date',];
|
'invoice_date',];
|
||||||
private array $metaString = [
|
private array $metaString
|
||||||
|
= [
|
||||||
'sepa_cc',
|
'sepa_cc',
|
||||||
'sepa_ct_op',
|
'sepa_ct_op',
|
||||||
'sepa_ct_id',
|
'sepa_ct_id',
|
||||||
@@ -492,15 +494,7 @@ class JournalUpdateService
|
|||||||
Log::debug(sprintf('Create date value from string "%s".', $value));
|
Log::debug(sprintf('Create date value from string "%s".', $value));
|
||||||
$this->transactionJournal->date_tz = $value->format('e');
|
$this->transactionJournal->date_tz = $value->format('e');
|
||||||
}
|
}
|
||||||
event(
|
event(new TriggeredAuditLog($this->transactionJournal->user, $this->transactionJournal, sprintf('update_%s', $fieldName), $this->transactionJournal->{$fieldName}, $value));
|
||||||
new TriggeredAuditLog(
|
|
||||||
$this->transactionJournal->user,
|
|
||||||
$this->transactionJournal,
|
|
||||||
sprintf('update_%s', $fieldName),
|
|
||||||
$this->transactionJournal->{$fieldName}, // @phpstan-ignore-line
|
|
||||||
$value
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
$this->transactionJournal->{$fieldName} = $value; // @phpstan-ignore-line
|
$this->transactionJournal->{$fieldName} = $value; // @phpstan-ignore-line
|
||||||
Log::debug(sprintf('Updated %s', $fieldName));
|
Log::debug(sprintf('Updated %s', $fieldName));
|
||||||
@@ -671,6 +665,7 @@ class JournalUpdateService
|
|||||||
$origSourceTransaction->balance_dirty = true;
|
$origSourceTransaction->balance_dirty = true;
|
||||||
$origSourceTransaction->save();
|
$origSourceTransaction->save();
|
||||||
$destTransaction = $this->getDestinationTransaction();
|
$destTransaction = $this->getDestinationTransaction();
|
||||||
|
$originalAmount = $destTransaction->amount;
|
||||||
$destTransaction->amount = app('steam')->positive($amount);
|
$destTransaction->amount = app('steam')->positive($amount);
|
||||||
$destTransaction->balance_dirty = true;
|
$destTransaction->balance_dirty = true;
|
||||||
$destTransaction->save();
|
$destTransaction->save();
|
||||||
@@ -678,6 +673,20 @@ class JournalUpdateService
|
|||||||
$this->sourceTransaction->refresh();
|
$this->sourceTransaction->refresh();
|
||||||
$this->destinationTransaction->refresh();
|
$this->destinationTransaction->refresh();
|
||||||
Log::debug(sprintf('Updated amount to "%s"', $amount));
|
Log::debug(sprintf('Updated amount to "%s"', $amount));
|
||||||
|
|
||||||
|
event(new TriggeredAuditLog($this->transactionGroup->user, $this->transactionGroup, 'update_amount',
|
||||||
|
[
|
||||||
|
'currency_symbol' => $destTransaction->transactionCurrency->symbol,
|
||||||
|
'decimal_places' => $destTransaction->transactionCurrency->decimal_places,
|
||||||
|
'amount' => $originalAmount,
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'currency_symbol' => $destTransaction->transactionCurrency->symbol,
|
||||||
|
'decimal_places' => $destTransaction->transactionCurrency->decimal_places,
|
||||||
|
'amount' => $value,
|
||||||
|
]
|
||||||
|
));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private function updateForeignAmount(): void
|
private function updateForeignAmount(): void
|
||||||
|
|||||||
Reference in New Issue
Block a user