From 36351a5dd97f66bc9e92454ae039476ef86e2731 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 3 Jan 2025 09:09:15 +0100 Subject: [PATCH] Replace enum --- .../Commands/Correction/CorrectsAccountTypes.php | 4 ++-- .../Upgrade/UpgradesVariousCurrencyInformation.php | 4 ++-- app/Factory/TransactionJournalFactory.php | 2 +- app/Generator/Report/Category/MonthReportGenerator.php | 2 +- app/Handlers/Events/UpdatedGroupEventHandler.php | 2 +- app/Helpers/Report/PopupReport.php | 4 ++-- app/Http/Controllers/Category/NoCategoryController.php | 4 ++-- app/Http/Controllers/Chart/AccountController.php | 2 +- app/Http/Controllers/Chart/TransactionController.php | 6 +++--- app/Http/Controllers/Json/BoxController.php | 2 +- app/Http/Controllers/Json/ReconcileController.php | 4 ++-- app/Http/Controllers/Transaction/ConvertController.php | 2 +- app/Http/Controllers/Transaction/MassController.php | 2 +- app/Http/Requests/RecurrenceFormRequest.php | 2 +- app/Repositories/Account/AccountTasker.php | 2 +- app/Repositories/Category/NoCategoryRepository.php | 4 ++-- app/Repositories/Category/OperationsRepository.php | 2 +- app/Repositories/Tag/OperationsRepository.php | 2 +- app/Repositories/Tag/TagRepository.php | 6 +++--- .../Internal/Support/CreditRecalculateService.php | 6 +++--- app/Support/Authentication/RemoteUserProvider.php | 4 ++-- app/Support/Binder/JournalList.php | 2 +- app/Support/Http/Api/AccountBalanceGrouped.php | 2 +- app/Support/Http/Api/TransactionFilter.php | 10 +++++----- app/Support/Http/Controllers/PeriodOverview.php | 8 ++++---- .../Http/Controllers/TransactionCalculation.php | 6 +++--- app/Support/Http/Controllers/UserNavigation.php | 2 +- app/TransactionRules/Actions/ConvertToDeposit.php | 10 +++++----- app/TransactionRules/Actions/ConvertToTransfer.php | 6 +++--- app/TransactionRules/Actions/ConvertToWithdrawal.php | 6 +++--- app/TransactionRules/Actions/SetDestinationAccount.php | 2 +- app/TransactionRules/Actions/SetSourceAccount.php | 2 +- .../Actions/SetSourceToCashAccount.php | 3 ++- app/Validation/AccountValidator.php | 4 ++-- app/Validation/TransactionValidation.php | 2 +- database/seeders/TransactionTypeSeeder.php | 2 +- 36 files changed, 68 insertions(+), 67 deletions(-) diff --git a/app/Console/Commands/Correction/CorrectsAccountTypes.php b/app/Console/Commands/Correction/CorrectsAccountTypes.php index c9fac6cb5e..1ef490835e 100644 --- a/app/Console/Commands/Correction/CorrectsAccountTypes.php +++ b/app/Console/Commands/Correction/CorrectsAccountTypes.php @@ -275,7 +275,7 @@ class CorrectsAccountTypes extends Command private function makeDeposit(TransactionJournal $journal): void { // from a liability to an asset should be a deposit. - $deposit = TransactionType::whereType(TransactionType::DEPOSIT)->first(); + $deposit = TransactionType::whereType(TransactionTypeEnum::DEPOSIT->value)->first(); $journal->transactionType()->associate($deposit); $journal->save(); $message = sprintf('Converted transaction #%d from a transfer to a deposit.', $journal->id); @@ -313,7 +313,7 @@ class CorrectsAccountTypes extends Command private function shouldComeFromRevenueAccount(string $transactionType, string $sourceType, string $destinationType): bool { - return TransactionType::DEPOSIT === $transactionType && AccountType::EXPENSE === $sourceType && AccountType::ASSET === $destinationType; + return TransactionTypeEnum::DEPOSIT->value === $transactionType && AccountType::EXPENSE === $sourceType && AccountType::ASSET === $destinationType; } private function makeRevenueSource(TransactionJournal $journal, Transaction $source): void diff --git a/app/Console/Commands/Upgrade/UpgradesVariousCurrencyInformation.php b/app/Console/Commands/Upgrade/UpgradesVariousCurrencyInformation.php index 0f7a2a827b..23e56d87a6 100644 --- a/app/Console/Commands/Upgrade/UpgradesVariousCurrencyInformation.php +++ b/app/Console/Commands/Upgrade/UpgradesVariousCurrencyInformation.php @@ -104,7 +104,7 @@ class UpgradesVariousCurrencyInformation extends Command private function updateOtherJournalsCurrencies(): void { $set = $this->cliRepos->getAllJournals( - [TransactionTypeEnum::WITHDRAWAL->value, TransactionType::DEPOSIT, TransactionType::OPENING_BALANCE, TransactionType::RECONCILIATION] + [TransactionTypeEnum::WITHDRAWAL->value, TransactionTypeEnum::DEPOSIT->value, TransactionType::OPENING_BALANCE, TransactionType::RECONCILIATION] ); /** @var TransactionJournal $journal */ @@ -186,7 +186,7 @@ class UpgradesVariousCurrencyInformation extends Command break; - case TransactionType::DEPOSIT: + case TransactionTypeEnum::DEPOSIT->value: $lead = $journal->transactions()->where('amount', '>', 0)->first(); break; diff --git a/app/Factory/TransactionJournalFactory.php b/app/Factory/TransactionJournalFactory.php index 9148c69261..18d29929ad 100644 --- a/app/Factory/TransactionJournalFactory.php +++ b/app/Factory/TransactionJournalFactory.php @@ -452,7 +452,7 @@ class TransactionJournalFactory return match ($type) { default => $this->getCurrency($currency, $source), - TransactionType::DEPOSIT => $this->getCurrency($currency, $destination), + TransactionTypeEnum::DEPOSIT->value => $this->getCurrency($currency, $destination), }; } diff --git a/app/Generator/Report/Category/MonthReportGenerator.php b/app/Generator/Report/Category/MonthReportGenerator.php index 5550dcd150..64a76e72f5 100644 --- a/app/Generator/Report/Category/MonthReportGenerator.php +++ b/app/Generator/Report/Category/MonthReportGenerator.php @@ -182,7 +182,7 @@ class MonthReportGenerator implements ReportGeneratorInterface $collector = app(GroupCollectorInterface::class); $collector->setAccounts($this->accounts)->setRange($this->start, $this->end) - ->setTypes([TransactionType::DEPOSIT, TransactionTypeEnum::TRANSFER->value]) + ->setTypes([TransactionTypeEnum::DEPOSIT->value, TransactionTypeEnum::TRANSFER->value]) ->setCategories($this->categories)->withAccountInformation() ; diff --git a/app/Handlers/Events/UpdatedGroupEventHandler.php b/app/Handlers/Events/UpdatedGroupEventHandler.php index 81fa48395c..585b839081 100644 --- a/app/Handlers/Events/UpdatedGroupEventHandler.php +++ b/app/Handlers/Events/UpdatedGroupEventHandler.php @@ -149,7 +149,7 @@ class UpdatedGroupEventHandler ->where('amount', '<', 0)->update(['account_id' => $sourceAccount->id]) ; } - if (TransactionTypeEnum::TRANSFER->value === $type || TransactionType::DEPOSIT === $type) { + if (TransactionTypeEnum::TRANSFER->value === $type || TransactionTypeEnum::DEPOSIT->value === $type) { // set all destination transactions to destination account: Transaction::whereIn('transaction_journal_id', $all) ->where('amount', '>', 0)->update(['account_id' => $destAccount->id]) diff --git a/app/Helpers/Report/PopupReport.php b/app/Helpers/Report/PopupReport.php index 85a1f8c3cc..019e76c26b 100644 --- a/app/Helpers/Report/PopupReport.php +++ b/app/Helpers/Report/PopupReport.php @@ -143,7 +143,7 @@ class PopupReport implements PopupReportInterface $collector = app(GroupCollectorInterface::class); $collector->setAccounts($attributes['accounts']) - ->setTypes([TransactionTypeEnum::WITHDRAWAL->value, TransactionTypeEnum::TRANSFER->value, TransactionType::DEPOSIT]) + ->setTypes([TransactionTypeEnum::WITHDRAWAL->value, TransactionTypeEnum::TRANSFER->value, TransactionTypeEnum::DEPOSIT->value]) ->withAccountInformation() ->withBudgetInformation() ->withCategoryInformation() @@ -222,7 +222,7 @@ class PopupReport implements PopupReportInterface ->setSourceAccounts(new Collection([$account])) ->setDestinationAccounts($attributes['accounts']) ->setRange($attributes['startDate'], $attributes['endDate']) - ->setTypes([TransactionType::DEPOSIT, TransactionTypeEnum::TRANSFER->value]) + ->setTypes([TransactionTypeEnum::DEPOSIT->value, TransactionTypeEnum::TRANSFER->value]) ->withAccountInformation() ->withBudgetInformation() ->withCategoryInformation() diff --git a/app/Http/Controllers/Category/NoCategoryController.php b/app/Http/Controllers/Category/NoCategoryController.php index 11e63f03d5..cf19fcc3ab 100644 --- a/app/Http/Controllers/Category/NoCategoryController.php +++ b/app/Http/Controllers/Category/NoCategoryController.php @@ -95,7 +95,7 @@ class NoCategoryController extends Controller $collector->setRange($start, $end) ->setLimit($pageSize)->setPage($page)->withoutCategory() ->withAccountInformation()->withBudgetInformation() - ->setTypes([TransactionTypeEnum::WITHDRAWAL->value, TransactionType::DEPOSIT, TransactionTypeEnum::TRANSFER->value]) + ->setTypes([TransactionTypeEnum::WITHDRAWAL->value, TransactionTypeEnum::DEPOSIT->value, TransactionTypeEnum::TRANSFER->value]) ; $groups = $collector->getPaginatedGroups(); $groups->setPath(route('categories.no-category', [$start->format('Y-m-d'), $end->format('Y-m-d')])); @@ -128,7 +128,7 @@ class NoCategoryController extends Controller $collector = app(GroupCollectorInterface::class); $collector->setRange($start, $end)->setLimit($pageSize)->setPage($page)->withoutCategory() ->withAccountInformation()->withBudgetInformation() - ->setTypes([TransactionTypeEnum::WITHDRAWAL->value, TransactionType::DEPOSIT, TransactionTypeEnum::TRANSFER->value]) + ->setTypes([TransactionTypeEnum::WITHDRAWAL->value, TransactionTypeEnum::DEPOSIT->value, TransactionTypeEnum::TRANSFER->value]) ; $groups = $collector->getPaginatedGroups(); $groups->setPath(route('categories.no-category.all')); diff --git a/app/Http/Controllers/Chart/AccountController.php b/app/Http/Controllers/Chart/AccountController.php index af28d66ebe..c8f13b9248 100644 --- a/app/Http/Controllers/Chart/AccountController.php +++ b/app/Http/Controllers/Chart/AccountController.php @@ -377,7 +377,7 @@ class AccountController extends Controller /** @var GroupCollectorInterface $collector */ $collector = app(GroupCollectorInterface::class); - $collector->setAccounts(new Collection([$account]))->setRange($start, $end)->withCategoryInformation()->setTypes([TransactionType::DEPOSIT]); + $collector->setAccounts(new Collection([$account]))->setRange($start, $end)->withCategoryInformation()->setTypes([TransactionTypeEnum::DEPOSIT->value]); $journals = $collector->getExtractedJournals(); $result = []; $chartData = []; diff --git a/app/Http/Controllers/Chart/TransactionController.php b/app/Http/Controllers/Chart/TransactionController.php index 5f05926c46..cd625b61ba 100644 --- a/app/Http/Controllers/Chart/TransactionController.php +++ b/app/Http/Controllers/Chart/TransactionController.php @@ -113,7 +113,7 @@ class TransactionController extends Controller $collector->setTypes([TransactionTypeEnum::WITHDRAWAL->value]); } if ('deposit' === $objectType) { - $collector->setTypes([TransactionType::DEPOSIT]); + $collector->setTypes([TransactionTypeEnum::DEPOSIT->value]); } if ('transfer' === $objectType || 'transfers' === $objectType) { $collector->setTypes([TransactionTypeEnum::TRANSFER->value]); @@ -163,7 +163,7 @@ class TransactionController extends Controller $collector->setTypes([TransactionTypeEnum::WITHDRAWAL->value]); } if ('deposit' === $objectType) { - $collector->setTypes([TransactionType::DEPOSIT]); + $collector->setTypes([TransactionTypeEnum::DEPOSIT->value]); } if ('transfer' === $objectType || 'transfers' === $objectType) { $collector->setTypes([TransactionTypeEnum::TRANSFER->value]); @@ -213,7 +213,7 @@ class TransactionController extends Controller $collector->setTypes([TransactionTypeEnum::WITHDRAWAL->value]); } if ('deposit' === $objectType) { - $collector->setTypes([TransactionType::DEPOSIT]); + $collector->setTypes([TransactionTypeEnum::DEPOSIT->value]); } if ('transfer' === $objectType || 'transfers' === $objectType) { $collector->setTypes([TransactionTypeEnum::TRANSFER->value]); diff --git a/app/Http/Controllers/Json/BoxController.php b/app/Http/Controllers/Json/BoxController.php index 5bd00fb5f4..13d41486e0 100644 --- a/app/Http/Controllers/Json/BoxController.php +++ b/app/Http/Controllers/Json/BoxController.php @@ -84,7 +84,7 @@ class BoxController extends Controller /** @var GroupCollectorInterface $collector */ $collector = app(GroupCollectorInterface::class); $collector->setRange($start, $end) - ->setTypes([TransactionType::DEPOSIT]) + ->setTypes([TransactionTypeEnum::DEPOSIT->value]) ; $set = $collector->getExtractedJournals(); diff --git a/app/Http/Controllers/Json/ReconcileController.php b/app/Http/Controllers/Json/ReconcileController.php index b1987512a7..c906914a94 100644 --- a/app/Http/Controllers/Json/ReconcileController.php +++ b/app/Http/Controllers/Json/ReconcileController.php @@ -242,7 +242,7 @@ class ReconcileController extends Controller foreach ($array as $journal) { $inverse = false; - if (TransactionType::DEPOSIT === $journal['transaction_type_type']) { + if (TransactionTypeEnum::DEPOSIT->value === $journal['transaction_type_type']) { $inverse = true; } // transfer to this account? then positive amount: @@ -251,7 +251,7 @@ class ReconcileController extends Controller } // opening balance into account? then positive amount: - if (TransactionType::OPENING_BALANCE === $journal['transaction_type_type'] + if (TransactionTypeEnum::OPENING_BALANCE->value === $journal['transaction_type_type'] && $account->id === $journal['destination_account_id']) { $inverse = true; } diff --git a/app/Http/Controllers/Transaction/ConvertController.php b/app/Http/Controllers/Transaction/ConvertController.php index 567a60f7ec..7c265526b0 100644 --- a/app/Http/Controllers/Transaction/ConvertController.php +++ b/app/Http/Controllers/Transaction/ConvertController.php @@ -332,7 +332,7 @@ class ConvertController extends Controller ]; // also set the currency to the currency of the source account, in case you're converting a deposit into a transfer. - if (TransactionTypeEnum::TRANSFER->value === $transactionType->type && TransactionType::DEPOSIT === $journal->transactionType->type) { + if (TransactionTypeEnum::TRANSFER->value === $transactionType->type && TransactionTypeEnum::DEPOSIT->value === $journal->transactionType->type) { $source = $this->accountRepository->find((int) $sourceId); $sourceCurrency = $this->accountRepository->getAccountCurrency($source); $dest = $this->accountRepository->find((int) $destinationId); diff --git a/app/Http/Controllers/Transaction/MassController.php b/app/Http/Controllers/Transaction/MassController.php index f95f5a64a0..795a7f5a9b 100644 --- a/app/Http/Controllers/Transaction/MassController.php +++ b/app/Http/Controllers/Transaction/MassController.php @@ -132,7 +132,7 @@ class MassController extends Controller $withdrawalSources = $accountRepository->getAccountsByType($array); // valid deposit destinations: - $array = config(sprintf('firefly.source_dests.%s.%s', TransactionType::DEPOSIT, AccountType::REVENUE)); + $array = config(sprintf('firefly.source_dests.%s.%s', TransactionTypeEnum::DEPOSIT->value, AccountType::REVENUE)); $depositDestinations = $accountRepository->getAccountsByType($array); /** @var BudgetRepositoryInterface $budgetRepository */ diff --git a/app/Http/Requests/RecurrenceFormRequest.php b/app/Http/Requests/RecurrenceFormRequest.php index ebf53aa466..88bf53358c 100644 --- a/app/Http/Requests/RecurrenceFormRequest.php +++ b/app/Http/Requests/RecurrenceFormRequest.php @@ -248,7 +248,7 @@ class RecurrenceFormRequest extends FormRequest $rules['source_id'] = 'required|exists:accounts,id|belongsToUser:accounts'; $rules['destination_name'] = 'min:1|max:255|nullable'; } - if (strtolower(TransactionType::DEPOSIT) === $type) { + if (strtolower(TransactionTypeEnum::DEPOSIT->value) === $type) { $rules['source_name'] = 'min:1|max:255|nullable'; $rules['destination_id'] = 'required|exists:accounts,id|belongsToUser:accounts'; } diff --git a/app/Repositories/Account/AccountTasker.php b/app/Repositories/Account/AccountTasker.php index fabf36eb54..6e19e47d22 100644 --- a/app/Repositories/Account/AccountTasker.php +++ b/app/Repositories/Account/AccountTasker.php @@ -212,7 +212,7 @@ class AccountTasker implements AccountTaskerInterface $collector = app(GroupCollectorInterface::class); $collector->setDestinationAccounts($accounts)->setRange($start, $end); $collector->excludeSourceAccounts($accounts); - $collector->setTypes([TransactionType::DEPOSIT, TransactionTypeEnum::TRANSFER->value])->withAccountInformation(); + $collector->setTypes([TransactionTypeEnum::DEPOSIT->value, TransactionTypeEnum::TRANSFER->value])->withAccountInformation(); $report = $this->groupIncomeBySource($collector->getExtractedJournals()); // sort the result diff --git a/app/Repositories/Category/NoCategoryRepository.php b/app/Repositories/Category/NoCategoryRepository.php index 9717277f1b..438180d17e 100644 --- a/app/Repositories/Category/NoCategoryRepository.php +++ b/app/Repositories/Category/NoCategoryRepository.php @@ -102,7 +102,7 @@ class NoCategoryRepository implements NoCategoryRepositoryInterface { /** @var GroupCollectorInterface $collector */ $collector = app(GroupCollectorInterface::class); - $collector->setUser($this->user)->setRange($start, $end)->setTypes([TransactionType::DEPOSIT])->withoutCategory(); + $collector->setUser($this->user)->setRange($start, $end)->setTypes([TransactionTypeEnum::DEPOSIT->value])->withoutCategory(); if (null !== $accounts && $accounts->count() > 0) { $collector->setAccounts($accounts); } @@ -164,7 +164,7 @@ class NoCategoryRepository implements NoCategoryRepositoryInterface { /** @var GroupCollectorInterface $collector */ $collector = app(GroupCollectorInterface::class); - $collector->setUser($this->user)->setRange($start, $end)->setTypes([TransactionType::DEPOSIT])->withoutCategory(); + $collector->setUser($this->user)->setRange($start, $end)->setTypes([TransactionTypeEnum::DEPOSIT->value])->withoutCategory(); if (null !== $accounts && $accounts->count() > 0) { $collector->setAccounts($accounts); diff --git a/app/Repositories/Category/OperationsRepository.php b/app/Repositories/Category/OperationsRepository.php index 78641dff2c..a923374cf2 100644 --- a/app/Repositories/Category/OperationsRepository.php +++ b/app/Repositories/Category/OperationsRepository.php @@ -137,7 +137,7 @@ class OperationsRepository implements OperationsRepositoryInterface { /** @var GroupCollectorInterface $collector */ $collector = app(GroupCollectorInterface::class); - $collector->setUser($this->user)->setRange($start, $end)->setTypes([TransactionType::DEPOSIT]); + $collector->setUser($this->user)->setRange($start, $end)->setTypes([TransactionTypeEnum::DEPOSIT->value]); if (null !== $accounts && $accounts->count() > 0) { $collector->setAccounts($accounts); } diff --git a/app/Repositories/Tag/OperationsRepository.php b/app/Repositories/Tag/OperationsRepository.php index 9f6234cb3d..ba3c8ec738 100644 --- a/app/Repositories/Tag/OperationsRepository.php +++ b/app/Repositories/Tag/OperationsRepository.php @@ -139,7 +139,7 @@ class OperationsRepository implements OperationsRepositoryInterface { /** @var GroupCollectorInterface $collector */ $collector = app(GroupCollectorInterface::class); - $collector->setUser($this->user)->setRange($start, $end)->setTypes([TransactionType::DEPOSIT]); + $collector->setUser($this->user)->setRange($start, $end)->setTypes([TransactionTypeEnum::DEPOSIT->value]); $tagIds = []; if (null !== $accounts && $accounts->count() > 0) { $collector->setAccounts($accounts); diff --git a/app/Repositories/Tag/TagRepository.php b/app/Repositories/Tag/TagRepository.php index e1539f840e..a7fc934539 100644 --- a/app/Repositories/Tag/TagRepository.php +++ b/app/Repositories/Tag/TagRepository.php @@ -173,7 +173,7 @@ class TagRepository implements TagRepositoryInterface $collector = app(GroupCollectorInterface::class); $collector->setUser($this->user); - $collector->setRange($start, $end)->setTypes([TransactionType::DEPOSIT])->setTag($tag); + $collector->setRange($start, $end)->setTypes([TransactionTypeEnum::DEPOSIT->value])->setTag($tag); return $collector->getExtractedJournals(); } @@ -267,7 +267,7 @@ class TagRepository implements TagRepositoryInterface 'currency_symbol' => $journal['currency_symbol'], 'currency_decimal_places' => $journal['currency_decimal_places'], TransactionTypeEnum::WITHDRAWAL->value => '0', - TransactionType::DEPOSIT => '0', + TransactionTypeEnum::DEPOSIT->value => '0', TransactionTypeEnum::TRANSFER->value => '0', TransactionType::RECONCILIATION => '0', TransactionType::OPENING_BALANCE => '0', @@ -289,7 +289,7 @@ class TagRepository implements TagRepositoryInterface 'currency_symbol' => $journal['foreign_currency_symbol'], 'currency_decimal_places' => $journal['foreign_currency_decimal_places'], TransactionTypeEnum::WITHDRAWAL->value => '0', - TransactionType::DEPOSIT => '0', + TransactionTypeEnum::DEPOSIT->value => '0', TransactionTypeEnum::TRANSFER->value => '0', TransactionType::RECONCILIATION => '0', TransactionType::OPENING_BALANCE => '0', diff --git a/app/Services/Internal/Support/CreditRecalculateService.php b/app/Services/Internal/Support/CreditRecalculateService.php index f4635d839a..ed0dd16dc7 100644 --- a/app/Services/Internal/Support/CreditRecalculateService.php +++ b/app/Services/Internal/Support/CreditRecalculateService.php @@ -343,7 +343,7 @@ class CreditRecalculateService } // in any other case, remove amount from left of debt. - if (in_array($type, [TransactionTypeEnum::WITHDRAWAL->value, TransactionType::DEPOSIT, TransactionTypeEnum::TRANSFER->value], true)) { + if (in_array($type, [TransactionTypeEnum::WITHDRAWAL->value, TransactionTypeEnum::DEPOSIT->value, TransactionTypeEnum::TRANSFER->value], true)) { $usedAmount = app('steam')->negative($usedAmount); return bcadd($leftOfDebt, $usedAmount); @@ -412,7 +412,7 @@ class CreditRecalculateService */ private function isDepositOut(string $amount, string $transactionType): bool { - return TransactionType::DEPOSIT === $transactionType && -1 === bccomp($amount, '0'); + return TransactionTypeEnum::DEPOSIT->value === $transactionType && -1 === bccomp($amount, '0'); } /** @@ -423,7 +423,7 @@ class CreditRecalculateService */ private function isDepositIn(string $amount, string $transactionType): bool { - return TransactionType::DEPOSIT === $transactionType && 1 === bccomp($amount, '0'); + return TransactionTypeEnum::DEPOSIT->value === $transactionType && 1 === bccomp($amount, '0'); } /** diff --git a/app/Support/Authentication/RemoteUserProvider.php b/app/Support/Authentication/RemoteUserProvider.php index 548b6bab15..37364be807 100644 --- a/app/Support/Authentication/RemoteUserProvider.php +++ b/app/Support/Authentication/RemoteUserProvider.php @@ -24,7 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Support\Authentication; -use FireflyIII\Console\Commands\Correction\CreateGroupMemberships; +use FireflyIII\Console\Commands\Correction\CreatesGroupMemberships; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Models\Role; use FireflyIII\User; @@ -82,7 +82,7 @@ class RemoteUserProvider implements UserProvider } } // make sure the user gets an administration as well. - CreateGroupMemberships::createGroupMembership($user); + CreatesGroupMemberships::createGroupMembership($user); app('log')->debug(sprintf('Going to return user #%d (%s)', $user->id, $user->email)); diff --git a/app/Support/Binder/JournalList.php b/app/Support/Binder/JournalList.php index 3b79c72bb1..161f61ed2d 100644 --- a/app/Support/Binder/JournalList.php +++ b/app/Support/Binder/JournalList.php @@ -45,7 +45,7 @@ class JournalList implements BinderInterface // get the journals by using the collector. /** @var GroupCollectorInterface $collector */ $collector = app(GroupCollectorInterface::class); - $collector->setTypes([TransactionTypeEnum::WITHDRAWAL->value, TransactionType::DEPOSIT, TransactionTypeEnum::TRANSFER->value, TransactionType::RECONCILIATION]); + $collector->setTypes([TransactionTypeEnum::WITHDRAWAL->value, TransactionTypeEnum::DEPOSIT->value, TransactionTypeEnum::TRANSFER->value, TransactionType::RECONCILIATION]); $collector->withCategoryInformation()->withBudgetInformation()->withTagInformation()->withAccountInformation(); $collector->setJournalIds($list); $result = $collector->getExtractedJournals(); diff --git a/app/Support/Http/Api/AccountBalanceGrouped.php b/app/Support/Http/Api/AccountBalanceGrouped.php index 165d747878..0633874da3 100644 --- a/app/Support/Http/Api/AccountBalanceGrouped.php +++ b/app/Support/Http/Api/AccountBalanceGrouped.php @@ -220,7 +220,7 @@ class AccountBalanceGrouped // deposit = incoming // transfer or reconcile or opening balance, and these accounts are the destination. if ( - TransactionType::DEPOSIT === $journal['transaction_type_type'] + TransactionTypeEnum::DEPOSIT->value === $journal['transaction_type_type'] || ( ( diff --git a/app/Support/Http/Api/TransactionFilter.php b/app/Support/Http/Api/TransactionFilter.php index 06ea12a40f..34c16639fa 100644 --- a/app/Support/Http/Api/TransactionFilter.php +++ b/app/Support/Http/Api/TransactionFilter.php @@ -40,7 +40,7 @@ trait TransactionFilter $types = [ 'all' => [ TransactionTypeEnum::WITHDRAWAL->value, - TransactionType::DEPOSIT, + TransactionTypeEnum::DEPOSIT->value, TransactionTypeEnum::TRANSFER->value, TransactionType::OPENING_BALANCE, TransactionType::RECONCILIATION, @@ -49,9 +49,9 @@ trait TransactionFilter 'withdrawals' => [TransactionTypeEnum::WITHDRAWAL->value], 'expense' => [TransactionTypeEnum::WITHDRAWAL->value], 'expenses' => [TransactionTypeEnum::WITHDRAWAL->value], - 'income' => [TransactionType::DEPOSIT], - 'deposit' => [TransactionType::DEPOSIT], - 'deposits' => [TransactionType::DEPOSIT], + 'income' => [TransactionTypeEnum::DEPOSIT->value], + 'deposit' => [TransactionTypeEnum::DEPOSIT->value], + 'deposits' => [TransactionTypeEnum::DEPOSIT->value], 'transfer' => [TransactionTypeEnum::TRANSFER->value], 'transfers' => [TransactionTypeEnum::TRANSFER->value], 'opening_balance' => [TransactionType::OPENING_BALANCE], @@ -59,7 +59,7 @@ trait TransactionFilter 'reconciliations' => [TransactionType::RECONCILIATION], 'special' => [TransactionType::OPENING_BALANCE, TransactionType::RECONCILIATION], 'specials' => [TransactionType::OPENING_BALANCE, TransactionType::RECONCILIATION], - 'default' => [TransactionTypeEnum::WITHDRAWAL->value, TransactionType::DEPOSIT, TransactionTypeEnum::TRANSFER->value], + 'default' => [TransactionTypeEnum::WITHDRAWAL->value, TransactionTypeEnum::DEPOSIT->value, TransactionTypeEnum::TRANSFER->value], ]; $return = []; $parts = explode(',', $type); diff --git a/app/Support/Http/Controllers/PeriodOverview.php b/app/Support/Http/Controllers/PeriodOverview.php index 33797ca496..644c5a74b0 100644 --- a/app/Support/Http/Controllers/PeriodOverview.php +++ b/app/Support/Http/Controllers/PeriodOverview.php @@ -98,7 +98,7 @@ trait PeriodOverview $collector = app(GroupCollectorInterface::class); $collector->setAccounts(new Collection([$account])); $collector->setRange($start, $end); - $collector->setTypes([TransactionType::DEPOSIT]); + $collector->setTypes([TransactionTypeEnum::DEPOSIT->value]); $earnedSet = $collector->getExtractedJournals(); // collect all income in this period: @@ -272,7 +272,7 @@ trait PeriodOverview $collector = app(GroupCollectorInterface::class); $collector->setCategory($category); $collector->setRange($start, $end); - $collector->setTypes([TransactionType::DEPOSIT]); + $collector->setTypes([TransactionTypeEnum::DEPOSIT->value]); $earnedSet = $collector->getExtractedJournals(); // collect all income in this period: @@ -394,7 +394,7 @@ trait PeriodOverview $collector = app(GroupCollectorInterface::class); $collector->withoutCategory(); $collector->setRange($start, $end); - $collector->setTypes([TransactionType::DEPOSIT]); + $collector->setTypes([TransactionTypeEnum::DEPOSIT->value]); $earnedSet = $collector->getExtractedJournals(); // collect all income in this period: @@ -463,7 +463,7 @@ trait PeriodOverview $collector = app(GroupCollectorInterface::class); $collector->setTag($tag); $collector->setRange($start, $end); - $collector->setTypes([TransactionType::DEPOSIT]); + $collector->setTypes([TransactionTypeEnum::DEPOSIT->value]); $earnedSet = $collector->getExtractedJournals(); // collect all income in this period: diff --git a/app/Support/Http/Controllers/TransactionCalculation.php b/app/Support/Http/Controllers/TransactionCalculation.php index e869a0608f..cb9527f9a0 100644 --- a/app/Support/Http/Controllers/TransactionCalculation.php +++ b/app/Support/Http/Controllers/TransactionCalculation.php @@ -107,7 +107,7 @@ trait TransactionCalculation { /** @var GroupCollectorInterface $collector */ $collector = app(GroupCollectorInterface::class); - $collector->setAccounts($accounts)->setRange($start, $end)->setTypes([TransactionType::DEPOSIT, TransactionTypeEnum::TRANSFER->value]) + $collector->setAccounts($accounts)->setRange($start, $end)->setTypes([TransactionTypeEnum::DEPOSIT->value, TransactionTypeEnum::TRANSFER->value]) ->setCategories($categories)->withAccountInformation() ; @@ -123,7 +123,7 @@ trait TransactionCalculation /** @var GroupCollectorInterface $collector */ $collector = app(GroupCollectorInterface::class); - $collector->setAccounts($total)->setRange($start, $end)->withAccountInformation()->setTypes([TransactionType::DEPOSIT]); + $collector->setAccounts($total)->setRange($start, $end)->withAccountInformation()->setTypes([TransactionTypeEnum::DEPOSIT->value]); return $collector->getExtractedJournals(); } @@ -135,7 +135,7 @@ trait TransactionCalculation { /** @var GroupCollectorInterface $collector */ $collector = app(GroupCollectorInterface::class); - $collector->setAccounts($accounts)->setRange($start, $end)->setTypes([TransactionType::DEPOSIT, TransactionTypeEnum::TRANSFER->value]) + $collector->setAccounts($accounts)->setRange($start, $end)->setTypes([TransactionTypeEnum::DEPOSIT->value, TransactionTypeEnum::TRANSFER->value]) ->setTags($tags)->withAccountInformation() ; diff --git a/app/Support/Http/Controllers/UserNavigation.php b/app/Support/Http/Controllers/UserNavigation.php index 9eb9a0dbd8..b8fd836bb3 100644 --- a/app/Support/Http/Controllers/UserNavigation.php +++ b/app/Support/Http/Controllers/UserNavigation.php @@ -75,7 +75,7 @@ trait UserNavigation return false; } $type = $journal->transactionType->type; - $editable = [TransactionTypeEnum::WITHDRAWAL->value, TransactionTypeEnum::TRANSFER->value, TransactionType::DEPOSIT, TransactionType::RECONCILIATION]; + $editable = [TransactionTypeEnum::WITHDRAWAL->value, TransactionTypeEnum::TRANSFER->value, TransactionTypeEnum::DEPOSIT->value, TransactionType::RECONCILIATION]; return in_array($type, $editable, true); } diff --git a/app/TransactionRules/Actions/ConvertToDeposit.php b/app/TransactionRules/Actions/ConvertToDeposit.php index 21ec9accce..341a302149 100644 --- a/app/TransactionRules/Actions/ConvertToDeposit.php +++ b/app/TransactionRules/Actions/ConvertToDeposit.php @@ -75,7 +75,7 @@ class ConvertToDeposit implements ActionInterface app('log')->debug(sprintf('Convert journal #%d to deposit.', $journal['transaction_journal_id'])); $type = $object->transactionType->type; - if (TransactionType::DEPOSIT === $type) { + if (TransactionTypeEnum::DEPOSIT->value === $type) { app('log')->error(sprintf('Journal #%d is already a deposit (rule #%d).', $journal['transaction_journal_id'], $this->action->rule_id)); event(new RuleActionFailedOnArray($this->action, $journal, trans('rules.is_already_deposit'))); @@ -95,7 +95,7 @@ class ConvertToDeposit implements ActionInterface return false; } - event(new TriggeredAuditLog($this->action->rule, $object, 'update_transaction_type', TransactionTypeEnum::WITHDRAWAL->value, TransactionType::DEPOSIT)); + event(new TriggeredAuditLog($this->action->rule, $object, 'update_transaction_type', TransactionTypeEnum::WITHDRAWAL->value, TransactionTypeEnum::DEPOSIT->value)); return $res; } @@ -111,7 +111,7 @@ class ConvertToDeposit implements ActionInterface return false; } - event(new TriggeredAuditLog($this->action->rule, $object, 'update_transaction_type', TransactionTypeEnum::TRANSFER->value, TransactionType::DEPOSIT)); + event(new TriggeredAuditLog($this->action->rule, $object, 'update_transaction_type', TransactionTypeEnum::TRANSFER->value, TransactionTypeEnum::DEPOSIT->value)); return $res; } @@ -168,7 +168,7 @@ class ConvertToDeposit implements ActionInterface ; // change transaction type of journal: - $newType = TransactionType::whereType(TransactionType::DEPOSIT)->first(); + $newType = TransactionType::whereType(TransactionTypeEnum::DEPOSIT->value)->first(); \DB::table('transaction_journals') ->where('id', '=', $journal->id) @@ -249,7 +249,7 @@ class ConvertToDeposit implements ActionInterface ; // change transaction type of journal: - $newType = TransactionType::whereType(TransactionType::DEPOSIT)->first(); + $newType = TransactionType::whereType(TransactionTypeEnum::DEPOSIT->value)->first(); \DB::table('transaction_journals') ->where('id', '=', $journal->id) diff --git a/app/TransactionRules/Actions/ConvertToTransfer.php b/app/TransactionRules/Actions/ConvertToTransfer.php index ac32deda33..96ef106bdb 100644 --- a/app/TransactionRules/Actions/ConvertToTransfer.php +++ b/app/TransactionRules/Actions/ConvertToTransfer.php @@ -87,7 +87,7 @@ class ConvertToTransfer implements ActionInterface return false; } - if (TransactionType::DEPOSIT !== $type && TransactionTypeEnum::WITHDRAWAL->value !== $type) { + if (TransactionTypeEnum::DEPOSIT->value !== $type && TransactionTypeEnum::WITHDRAWAL->value !== $type) { event(new RuleActionFailedOnArray($this->action, $journal, trans('rules.unsupported_transaction_type_transfer', ['type' => $type]))); return false; @@ -102,7 +102,7 @@ class ConvertToTransfer implements ActionInterface $expectedType = $this->getSourceType($journalId); // Withdrawal? Replace destination with account with same type as source. } - if (TransactionType::DEPOSIT === $type) { + if (TransactionTypeEnum::DEPOSIT->value === $type) { $expectedType = $this->getDestinationType($journalId); // Deposit? Replace source with account with same type as destination. } @@ -154,7 +154,7 @@ class ConvertToTransfer implements ActionInterface return false; } if (false !== $res) { - event(new TriggeredAuditLog($this->action->rule, $object, 'update_transaction_type', TransactionType::DEPOSIT, TransactionTypeEnum::TRANSFER->value)); + event(new TriggeredAuditLog($this->action->rule, $object, 'update_transaction_type', TransactionTypeEnum::DEPOSIT->value, TransactionTypeEnum::TRANSFER->value)); } return $res; diff --git a/app/TransactionRules/Actions/ConvertToWithdrawal.php b/app/TransactionRules/Actions/ConvertToWithdrawal.php index 56d1736334..11590cf8b7 100644 --- a/app/TransactionRules/Actions/ConvertToWithdrawal.php +++ b/app/TransactionRules/Actions/ConvertToWithdrawal.php @@ -80,12 +80,12 @@ class ConvertToWithdrawal implements ActionInterface return false; } - if (TransactionType::DEPOSIT !== $type && TransactionTypeEnum::TRANSFER->value !== $type) { + if (TransactionTypeEnum::DEPOSIT->value !== $type && TransactionTypeEnum::TRANSFER->value !== $type) { event(new RuleActionFailedOnArray($this->action, $journal, trans('rules.unsupported_transaction_type_withdrawal', ['type' => $type]))); return false; } - if (TransactionType::DEPOSIT === $type) { + if (TransactionTypeEnum::DEPOSIT->value === $type) { app('log')->debug('Going to transform a deposit to a withdrawal.'); try { @@ -97,7 +97,7 @@ class ConvertToWithdrawal implements ActionInterface return false; } - event(new TriggeredAuditLog($this->action->rule, $object, 'update_transaction_type', TransactionType::DEPOSIT, TransactionTypeEnum::WITHDRAWAL->value)); + event(new TriggeredAuditLog($this->action->rule, $object, 'update_transaction_type', TransactionTypeEnum::DEPOSIT->value, TransactionTypeEnum::WITHDRAWAL->value)); return $res; } diff --git a/app/TransactionRules/Actions/SetDestinationAccount.php b/app/TransactionRules/Actions/SetDestinationAccount.php index 3cf936a9df..afcbb5ddc9 100644 --- a/app/TransactionRules/Actions/SetDestinationAccount.php +++ b/app/TransactionRules/Actions/SetDestinationAccount.php @@ -72,7 +72,7 @@ class SetDestinationAccount implements ActionInterface // if this is a transfer or a deposit, the new destination account must be an asset account or a default account, and it MUST exist: $newAccount = $this->findAssetAccount($type, $accountName); - if ((TransactionType::DEPOSIT === $type || TransactionTypeEnum::TRANSFER->value === $type) && null === $newAccount) { + if ((TransactionTypeEnum::DEPOSIT->value === $type || TransactionTypeEnum::TRANSFER->value === $type) && null === $newAccount) { app('log')->error( sprintf( 'Cant change destination account of journal #%d because no asset account with name "%s" exists.', diff --git a/app/TransactionRules/Actions/SetSourceAccount.php b/app/TransactionRules/Actions/SetSourceAccount.php index f5c0e58b88..3355fee4be 100644 --- a/app/TransactionRules/Actions/SetSourceAccount.php +++ b/app/TransactionRules/Actions/SetSourceAccount.php @@ -111,7 +111,7 @@ class SetSourceAccount implements ActionInterface // if this is a deposit, the new source account must be a revenue account and may be created: // or it's a liability - if (TransactionType::DEPOSIT === $type) { + if (TransactionTypeEnum::DEPOSIT->value === $type) { $newAccount = $this->findDepositSourceAccount($accountName); } diff --git a/app/TransactionRules/Actions/SetSourceToCashAccount.php b/app/TransactionRules/Actions/SetSourceToCashAccount.php index f8e8175320..d994b2b4ee 100644 --- a/app/TransactionRules/Actions/SetSourceToCashAccount.php +++ b/app/TransactionRules/Actions/SetSourceToCashAccount.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\TransactionRules\Actions; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Events\Model\Rule\RuleActionFailedOnArray; use FireflyIII\Events\TriggeredAuditLog; use FireflyIII\Models\RuleAction; @@ -64,7 +65,7 @@ class SetSourceToCashAccount implements ActionInterface return false; } $type = $object->transactionType->type; - if (TransactionType::DEPOSIT !== $type) { + if (TransactionTypeEnum::DEPOSIT->value !== $type) { app('log')->error('Transaction must be deposit.'); event(new RuleActionFailedOnArray($this->action, $journal, trans('rules.not_deposit'))); diff --git a/app/Validation/AccountValidator.php b/app/Validation/AccountValidator.php index 267564b5ea..3f42d693d3 100644 --- a/app/Validation/AccountValidator.php +++ b/app/Validation/AccountValidator.php @@ -146,7 +146,7 @@ class AccountValidator break; - case TransactionType::DEPOSIT: + case TransactionTypeEnum::DEPOSIT->value: $result = $this->validateDepositDestination($array); break; @@ -191,7 +191,7 @@ class AccountValidator break; - case TransactionType::DEPOSIT: + case TransactionTypeEnum::DEPOSIT->value: $result = $this->validateDepositSource($array); break; diff --git a/app/Validation/TransactionValidation.php b/app/Validation/TransactionValidation.php index 9e1a66774f..d9147ca90f 100644 --- a/app/Validation/TransactionValidation.php +++ b/app/Validation/TransactionValidation.php @@ -237,7 +237,7 @@ trait TransactionValidation app('log')->debug(sprintf('Amount is %s', $transaction['amount'])); - if (TransactionType::DEPOSIT === ucfirst($transactionType)) { + if (TransactionTypeEnum::DEPOSIT->value === ucfirst($transactionType)) { app('log')->debug(sprintf('Processing as a "%s"', $transactionType)); // use case: deposit from liability account to an asset account // the foreign amount must be in the currency of the source diff --git a/database/seeders/TransactionTypeSeeder.php b/database/seeders/TransactionTypeSeeder.php index 94ae9f1b3d..7ac0f3e975 100644 --- a/database/seeders/TransactionTypeSeeder.php +++ b/database/seeders/TransactionTypeSeeder.php @@ -35,7 +35,7 @@ class TransactionTypeSeeder extends Seeder { $types = [ TransactionType::WITHDRAWAL, - TransactionType::DEPOSIT, + TransactionTypeEnum::DEPOSIT->value, TransactionType::TRANSFER, TransactionType::OPENING_BALANCE, TransactionType::RECONCILIATION,