mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2026-05-04 13:16:31 +00:00
Rename observers
This commit is contained in:
@@ -44,50 +44,6 @@ class TransactionObserver
|
||||
$this->updatePrimaryCurrencyAmount($transaction);
|
||||
}
|
||||
|
||||
private function updatePrimaryCurrencyAmount(Transaction $transaction): void
|
||||
{
|
||||
if (!Amount::convertToPrimary($transaction->transactionJournal->user)) {
|
||||
return;
|
||||
}
|
||||
$userCurrency = Amount::getPrimaryCurrencyByUserGroup($transaction->transactionJournal->user->userGroup);
|
||||
$transaction->native_amount = null;
|
||||
$transaction->native_foreign_amount = null;
|
||||
// first normal amount
|
||||
if (
|
||||
$transaction->transactionCurrency->id !== $userCurrency->id
|
||||
&& (
|
||||
null === $transaction->foreign_currency_id
|
||||
|| null !== $transaction->foreign_currency_id
|
||||
&& $transaction->foreign_currency_id !== $userCurrency->id
|
||||
)
|
||||
) {
|
||||
$converter = new ExchangeRateConverter();
|
||||
$converter->setUserGroup($transaction->transactionJournal->user->userGroup);
|
||||
$converter->setIgnoreSettings(true);
|
||||
$transaction->native_amount = $converter->convert(
|
||||
$transaction->transactionCurrency,
|
||||
$userCurrency,
|
||||
$transaction->transactionJournal->date,
|
||||
$transaction->amount
|
||||
);
|
||||
}
|
||||
// then foreign amount
|
||||
if ($transaction->foreignCurrency?->id !== $userCurrency->id && null !== $transaction->foreign_amount && null !== $transaction->foreignCurrency) {
|
||||
$converter = new ExchangeRateConverter();
|
||||
$converter->setUserGroup($transaction->transactionJournal->user->userGroup);
|
||||
$converter->setIgnoreSettings(true);
|
||||
$transaction->native_foreign_amount = $converter->convert(
|
||||
$transaction->foreignCurrency,
|
||||
$userCurrency,
|
||||
$transaction->transactionJournal->date,
|
||||
$transaction->foreign_amount
|
||||
);
|
||||
}
|
||||
|
||||
$transaction->saveQuietly();
|
||||
Log::debug(sprintf('Transaction #%d primary currency amounts are updated.', $transaction->id));
|
||||
}
|
||||
|
||||
public function deleting(?Transaction $transaction): void
|
||||
{
|
||||
Log::debug('Observe "deleting" of a transaction.');
|
||||
@@ -107,4 +63,48 @@ class TransactionObserver
|
||||
}
|
||||
$this->updatePrimaryCurrencyAmount($transaction);
|
||||
}
|
||||
|
||||
private function updatePrimaryCurrencyAmount(Transaction $transaction): void
|
||||
{
|
||||
if (!Amount::convertToPrimary($transaction->transactionJournal->user)) {
|
||||
return;
|
||||
}
|
||||
$userCurrency = Amount::getPrimaryCurrencyByUserGroup($transaction->transactionJournal->user->userGroup);
|
||||
$transaction->native_amount = null;
|
||||
$transaction->native_foreign_amount = null;
|
||||
// first normal amount
|
||||
if (
|
||||
$transaction->transactionCurrency->id !== $userCurrency->id
|
||||
&& (
|
||||
null === $transaction->foreign_currency_id
|
||||
|| null !== $transaction->foreign_currency_id
|
||||
&& $transaction->foreign_currency_id !== $userCurrency->id
|
||||
)
|
||||
) {
|
||||
$converter = new ExchangeRateConverter();
|
||||
$converter->setUserGroup($transaction->transactionJournal->user->userGroup);
|
||||
$converter->setIgnoreSettings(true);
|
||||
$transaction->native_amount = $converter->convert(
|
||||
$transaction->transactionCurrency,
|
||||
$userCurrency,
|
||||
$transaction->transactionJournal->date,
|
||||
$transaction->amount
|
||||
);
|
||||
}
|
||||
// then foreign amount
|
||||
if ($transaction->foreignCurrency?->id !== $userCurrency->id && null !== $transaction->foreign_amount && null !== $transaction->foreignCurrency) {
|
||||
$converter = new ExchangeRateConverter();
|
||||
$converter->setUserGroup($transaction->transactionJournal->user->userGroup);
|
||||
$converter->setIgnoreSettings(true);
|
||||
$transaction->native_foreign_amount = $converter->convert(
|
||||
$transaction->foreignCurrency,
|
||||
$userCurrency,
|
||||
$transaction->transactionJournal->date,
|
||||
$transaction->foreign_amount
|
||||
);
|
||||
}
|
||||
|
||||
$transaction->saveQuietly();
|
||||
Log::debug(sprintf('Transaction #%d primary currency amounts are updated.', $transaction->id));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user