mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2026-02-10 21:58:45 +00:00
Clean up simple observers.
This commit is contained in:
@@ -33,14 +33,9 @@ use FireflyIII\Repositories\Attachment\AttachmentRepositoryInterface;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
/**
|
||||
* Class AccountObserver
|
||||
*/
|
||||
|
||||
class AccountObserver
|
||||
{
|
||||
/**
|
||||
* Also delete related objects.
|
||||
*/
|
||||
public function deleting(Account $account): void
|
||||
{
|
||||
Log::debug('Observe "deleting" of an account.');
|
||||
|
||||
@@ -24,9 +24,9 @@ declare(strict_types=1);
|
||||
|
||||
namespace FireflyIII\Handlers\Observer;
|
||||
|
||||
use FireflyIII\Handlers\ExchangeRate\ConversionParameters;
|
||||
use FireflyIII\Handlers\ExchangeRate\ConvertsAmountToPrimaryAmount;
|
||||
use FireflyIII\Models\AutoBudget;
|
||||
use FireflyIII\Support\Facades\Amount;
|
||||
use FireflyIII\Support\Http\Api\ExchangeRateConverter;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
class AutoBudgetObserver
|
||||
@@ -36,27 +36,22 @@ class AutoBudgetObserver
|
||||
Log::debug('Observe "created" of an auto budget.');
|
||||
$this->updatePrimaryCurrencyAmount($autoBudget);
|
||||
}
|
||||
|
||||
private function updatePrimaryCurrencyAmount(AutoBudget $autoBudget): void
|
||||
{
|
||||
if (!Amount::convertToPrimary($autoBudget->budget->user)) {
|
||||
return;
|
||||
}
|
||||
$userCurrency = Amount::getPrimaryCurrencyByUserGroup($autoBudget->budget->user->userGroup);
|
||||
$autoBudget->native_amount = null;
|
||||
if ($autoBudget->transactionCurrency->id !== $userCurrency->id) {
|
||||
$converter = new ExchangeRateConverter();
|
||||
$converter->setUserGroup($autoBudget->budget->user->userGroup);
|
||||
$converter->setIgnoreSettings(true);
|
||||
$autoBudget->native_amount = $converter->convert($autoBudget->transactionCurrency, $userCurrency, today(), $autoBudget->amount);
|
||||
}
|
||||
$autoBudget->saveQuietly();
|
||||
Log::debug('Auto budget primary currency amount is updated.');
|
||||
}
|
||||
|
||||
public function updated(AutoBudget $autoBudget): void
|
||||
{
|
||||
Log::debug('Observe "updated" of an auto budget.');
|
||||
$this->updatePrimaryCurrencyAmount($autoBudget);
|
||||
}
|
||||
|
||||
private function updatePrimaryCurrencyAmount(AutoBudget $autoBudget): void
|
||||
{
|
||||
$params = new ConversionParameters();
|
||||
$params->user = $autoBudget->budget->user;
|
||||
$params->model = $autoBudget;
|
||||
$params->originalCurrency = $autoBudget->transactionCurrency;
|
||||
$params->amountField = 'amount';
|
||||
$params->primaryAmountField = 'native_amount';
|
||||
ConvertsAmountToPrimaryAmount::convert($params);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -24,6 +24,8 @@ declare(strict_types=1);
|
||||
|
||||
namespace FireflyIII\Handlers\Observer;
|
||||
|
||||
use FireflyIII\Handlers\ExchangeRate\ConversionParameters;
|
||||
use FireflyIII\Handlers\ExchangeRate\ConvertsAmountToPrimaryAmount;
|
||||
use FireflyIII\Models\AvailableBudget;
|
||||
use FireflyIII\Support\Facades\Amount;
|
||||
use FireflyIII\Support\Http\Api\ExchangeRateConverter;
|
||||
@@ -36,29 +38,23 @@ class AvailableBudgetObserver
|
||||
// Log::debug('Observe "created" of an available budget.');
|
||||
$this->updatePrimaryCurrencyAmount($availableBudget);
|
||||
}
|
||||
|
||||
private function updatePrimaryCurrencyAmount(AvailableBudget $availableBudget): void
|
||||
{
|
||||
if (!Amount::convertToPrimary($availableBudget->user)) {
|
||||
// Log::debug('Do not update primary currency available amount of the available budget.');
|
||||
|
||||
return;
|
||||
}
|
||||
$userCurrency = Amount::getPrimaryCurrencyByUserGroup($availableBudget->user->userGroup);
|
||||
$availableBudget->native_amount = null;
|
||||
if ($availableBudget->transactionCurrency->id !== $userCurrency->id) {
|
||||
$converter = new ExchangeRateConverter();
|
||||
$converter->setUserGroup($availableBudget->user->userGroup);
|
||||
$converter->setIgnoreSettings(true);
|
||||
$availableBudget->native_amount = $converter->convert($availableBudget->transactionCurrency, $userCurrency, today(), $availableBudget->amount);
|
||||
}
|
||||
$availableBudget->saveQuietly();
|
||||
Log::debug('Available budget primary currency amount is updated.');
|
||||
}
|
||||
|
||||
public function updated(AvailableBudget $availableBudget): void
|
||||
{
|
||||
// Log::debug('Observe "updated" of an available budget.');
|
||||
$this->updatePrimaryCurrencyAmount($availableBudget);
|
||||
}
|
||||
|
||||
|
||||
private function updatePrimaryCurrencyAmount(AvailableBudget $availableBudget): void
|
||||
{
|
||||
$params = new ConversionParameters();
|
||||
$params->user = $availableBudget->user;
|
||||
$params->model = $availableBudget;
|
||||
$params->originalCurrency = $availableBudget->transactionCurrency;
|
||||
$params->amountField = 'amount';
|
||||
$params->primaryAmountField = 'native_amount';
|
||||
ConvertsAmountToPrimaryAmount::convert($params);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user