Rename observers

This commit is contained in:
James Cole
2026-02-02 20:08:37 +01:00
parent 4e910a33dd
commit 7922017288
30 changed files with 170 additions and 174 deletions

View File

@@ -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));
}
}