diff --git a/app/Console/Commands/Correction/CorrectsOpeningBalanceCurrencies.php b/app/Console/Commands/Correction/CorrectsOpeningBalanceCurrencies.php index 16a3d196ce..d464aa250e 100644 --- a/app/Console/Commands/Correction/CorrectsOpeningBalanceCurrencies.php +++ b/app/Console/Commands/Correction/CorrectsOpeningBalanceCurrencies.php @@ -25,6 +25,7 @@ declare(strict_types=1); namespace FireflyIII\Console\Commands\Correction; use FireflyIII\Console\Commands\ShowsFriendlyMessages; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Models\Account; use FireflyIII\Models\AccountType; use FireflyIII\Models\Transaction; @@ -68,7 +69,7 @@ class CorrectsOpeningBalanceCurrencies extends Command // @var Collection return TransactionJournal::leftJoin('transaction_types', 'transaction_types.id', '=', 'transaction_journals.transaction_type_id') ->whereNull('transaction_journals.deleted_at') - ->where('transaction_types.type', TransactionType::OPENING_BALANCE)->get(['transaction_journals.*']) + ->where('transaction_types.type', TransactionTypeEnum::OPENING_BALANCE->value)->get(['transaction_journals.*']) ; } diff --git a/app/Console/Commands/Upgrade/UpgradesLiabilitiesEight.php b/app/Console/Commands/Upgrade/UpgradesLiabilitiesEight.php index a28fb86324..511d8c4cf4 100644 --- a/app/Console/Commands/Upgrade/UpgradesLiabilitiesEight.php +++ b/app/Console/Commands/Upgrade/UpgradesLiabilitiesEight.php @@ -25,6 +25,7 @@ declare(strict_types=1); namespace FireflyIII\Console\Commands\Upgrade; use FireflyIII\Console\Commands\ShowsFriendlyMessages; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Models\Account; use FireflyIII\Models\Transaction; use FireflyIII\Models\TransactionJournal; @@ -118,8 +119,8 @@ class UpgradesLiabilitiesEight extends Command private function hasBadOpening(Account $account): bool { - $openingBalanceType = TransactionType::whereType(TransactionType::OPENING_BALANCE)->first(); - $liabilityType = TransactionType::whereType(TransactionType::LIABILITY_CREDIT)->first(); + $openingBalanceType = TransactionType::whereType(TransactionTypeEnum::OPENING_BALANCE->value)->first(); + $liabilityType = TransactionType::whereType(TransactionTypeEnum::LIABILITY_CREDIT->value)->first(); $openingJournal = TransactionJournal::leftJoin('transactions', 'transactions.transaction_journal_id', '=', 'transaction_journals.id') ->where('transactions.account_id', $account->id) ->where('transaction_journals.transaction_type_id', $openingBalanceType->id) @@ -145,7 +146,7 @@ class UpgradesLiabilitiesEight extends Command private function deleteCreditTransaction(Account $account): void { - $liabilityType = TransactionType::whereType(TransactionType::LIABILITY_CREDIT)->first(); + $liabilityType = TransactionType::whereType(TransactionTypeEnum::LIABILITY_CREDIT->value)->first(); $liabilityJournal = TransactionJournal::leftJoin('transactions', 'transactions.transaction_journal_id', '=', 'transaction_journals.id') ->where('transactions.account_id', $account->id) ->where('transaction_journals.transaction_type_id', $liabilityType->id) @@ -162,7 +163,7 @@ class UpgradesLiabilitiesEight extends Command private function reverseOpeningBalance(Account $account): void { - $openingBalanceType = TransactionType::whereType(TransactionType::OPENING_BALANCE)->first(); + $openingBalanceType = TransactionType::whereType(TransactionTypeEnum::OPENING_BALANCE->value)->first(); /** @var TransactionJournal $openingJournal */ $openingJournal = TransactionJournal::leftJoin('transactions', 'transactions.transaction_journal_id', '=', 'transaction_journals.id') diff --git a/app/Console/Commands/Upgrade/UpgradesVariousCurrencyInformation.php b/app/Console/Commands/Upgrade/UpgradesVariousCurrencyInformation.php index 23e56d87a6..03ec3c329d 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, TransactionTypeEnum::DEPOSIT->value, TransactionType::OPENING_BALANCE, TransactionType::RECONCILIATION] + [TransactionTypeEnum::WITHDRAWAL->value, TransactionTypeEnum::DEPOSIT->value, TransactionTypeEnum::OPENING_BALANCE->value, TransactionTypeEnum::RECONCILIATION->value] ); /** @var TransactionJournal $journal */ @@ -191,7 +191,7 @@ class UpgradesVariousCurrencyInformation extends Command break; - case TransactionType::OPENING_BALANCE: + case TransactionTypeEnum::OPENING_BALANCE->value: // whichever isn't an initial balance account: $lead = $journal->transactions()->leftJoin('accounts', 'transactions.account_id', '=', 'accounts.id')->leftJoin( 'account_types', @@ -202,7 +202,7 @@ class UpgradesVariousCurrencyInformation extends Command break; - case TransactionType::RECONCILIATION: + case TransactionTypeEnum::RECONCILIATION->value: // whichever isn't the reconciliation account: $lead = $journal->transactions()->leftJoin('accounts', 'transactions.account_id', '=', 'accounts.id')->leftJoin( 'account_types', diff --git a/app/Exceptions/GracefulNotFoundHandler.php b/app/Exceptions/GracefulNotFoundHandler.php index afc2372ceb..35059c8367 100644 --- a/app/Exceptions/GracefulNotFoundHandler.php +++ b/app/Exceptions/GracefulNotFoundHandler.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Exceptions; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Models\Account; use FireflyIII\Models\Attachment; use FireflyIII\Models\Bill; @@ -208,7 +209,7 @@ class GracefulNotFoundHandler extends ExceptionHandler $type = $journal->transactionType->type; $request->session()->reflash(); - if (TransactionType::RECONCILIATION === $type) { + if (TransactionTypeEnum::RECONCILIATION->value === $type) { return redirect(route('accounts.index', ['asset'])); } diff --git a/app/Helpers/Collector/GroupCollector.php b/app/Helpers/Collector/GroupCollector.php index 00a08e70f6..2567e3853b 100644 --- a/app/Helpers/Collector/GroupCollector.php +++ b/app/Helpers/Collector/GroupCollector.php @@ -27,6 +27,7 @@ namespace FireflyIII\Helpers\Collector; use Carbon\Carbon; use Carbon\Exceptions\InvalidFormatException; use Exception; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Helpers\Collector\Extensions\AccountCollection; use FireflyIII\Helpers\Collector\Extensions\AmountCollection; @@ -414,7 +415,7 @@ class GroupCollector implements GroupCollectorInterface $this->query->whereNull('transaction_groups.deleted_at'); $this->query->whereNotIn( 'transaction_types.type', - [TransactionType::LIABILITY_CREDIT, TransactionType::OPENING_BALANCE, TransactionType::RECONCILIATION] + [TransactionTypeEnum::LIABILITY_CREDIT->value, TransactionTypeEnum::OPENING_BALANCE->value, TransactionTypeEnum::RECONCILIATION->value] ); return $this; diff --git a/app/Http/Controllers/Account/ReconcileController.php b/app/Http/Controllers/Account/ReconcileController.php index ec3673c014..ded1362e59 100644 --- a/app/Http/Controllers/Account/ReconcileController.php +++ b/app/Http/Controllers/Account/ReconcileController.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Http\Controllers\Account; use Carbon\Carbon; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Exceptions\DuplicateTransactionException; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Factory\TransactionGroupFactory; @@ -223,7 +224,7 @@ class ReconcileController extends Controller 'transactions' => [ [ 'user' => auth()->user()->id, - 'type' => strtolower(TransactionType::RECONCILIATION), + 'type' => strtolower(TransactionTypeEnum::RECONCILIATION->value), 'date' => $end, 'order' => 0, 'currency_id' => $currency->id, diff --git a/app/Http/Controllers/DebugController.php b/app/Http/Controllers/DebugController.php index db80fd18b4..a516ec784e 100644 --- a/app/Http/Controllers/DebugController.php +++ b/app/Http/Controllers/DebugController.php @@ -25,6 +25,7 @@ declare(strict_types=1); namespace FireflyIII\Http\Controllers; use Carbon\Carbon; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Http\Middleware\IsDemoUser; use FireflyIII\Models\AccountType; @@ -364,7 +365,7 @@ class DebugController extends Controller } // has stored reconciliations - $type = TransactionType::whereType(TransactionType::RECONCILIATION)->first(); + $type = TransactionType::whereType(TransactionTypeEnum::RECONCILIATION->value)->first(); if ($user->transactionJournals()->where('transaction_type_id', $type->id)->count() > 0) { $flags[] = ':ledger:'; } diff --git a/app/Repositories/Account/AccountRepository.php b/app/Repositories/Account/AccountRepository.php index 651d73fdc2..f31df2b747 100644 --- a/app/Repositories/Account/AccountRepository.php +++ b/app/Repositories/Account/AccountRepository.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Repositories\Account; use Carbon\Carbon; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Factory\AccountFactory; use FireflyIII\Models\Account; @@ -247,7 +248,7 @@ class AccountRepository implements AccountRepositoryInterface { $journal = TransactionJournal::leftJoin('transactions', 'transactions.transaction_journal_id', '=', 'transaction_journals.id') ->where('transactions.account_id', $account->id) - ->transactionTypes([TransactionType::LIABILITY_CREDIT]) + ->transactionTypes([TransactionTypeEnum::LIABILITY_CREDIT->value]) ->first(['transaction_journals.*']) ; @@ -295,7 +296,7 @@ class AccountRepository implements AccountRepositoryInterface { $journal = TransactionJournal::leftJoin('transactions', 'transactions.transaction_journal_id', '=', 'transaction_journals.id') ->where('transactions.account_id', $account->id) - ->transactionTypes([TransactionType::OPENING_BALANCE, TransactionType::LIABILITY_CREDIT]) + ->transactionTypes([TransactionTypeEnum::OPENING_BALANCE->value, TransactionTypeEnum::LIABILITY_CREDIT->value]) ->first(['transaction_journals.*']) ; if (null === $journal) { @@ -316,7 +317,7 @@ class AccountRepository implements AccountRepositoryInterface { return TransactionJournal::leftJoin('transactions', 'transactions.transaction_journal_id', '=', 'transaction_journals.id') ->where('transactions.account_id', $account->id) - ->transactionTypes([TransactionType::OPENING_BALANCE, TransactionType::LIABILITY_CREDIT]) + ->transactionTypes([TransactionTypeEnum::OPENING_BALANCE->value, TransactionTypeEnum::LIABILITY_CREDIT->value]) ->first(['transaction_journals.*'])?->date->format('Y-m-d H:i:s') ; } @@ -332,7 +333,7 @@ class AccountRepository implements AccountRepositoryInterface { return TransactionJournal::leftJoin('transactions', 'transactions.transaction_journal_id', '=', 'transaction_journals.id') ->where('transactions.account_id', $account->id) - ->transactionTypes([TransactionType::OPENING_BALANCE]) + ->transactionTypes([TransactionTypeEnum::OPENING_BALANCE->value]) ->first(['transaction_journals.*']) ; } diff --git a/app/Repositories/Account/AccountTasker.php b/app/Repositories/Account/AccountTasker.php index 6e19e47d22..5750336642 100644 --- a/app/Repositories/Account/AccountTasker.php +++ b/app/Repositories/Account/AccountTasker.php @@ -91,7 +91,7 @@ class AccountTasker implements AccountTaskerInterface $entry['end_balance'] = $endSet[$account->id]['balance'] ?? '0'; // first journal exists, and is on start, then this is the actual opening balance: - if (null !== $first && $first->date->isSameDay($start) && TransactionType::OPENING_BALANCE === $first->transactionType->type) { + if (null !== $first && $first->date->isSameDay($start) && TransactionTypeEnum::OPENING_BALANCE->value === $first->transactionType->type) { app('log')->debug(sprintf('Date of first journal for %s is %s', $account->name, $first->date->format('Y-m-d'))); $entry['start_balance'] = $first->transactions()->where('account_id', $account->id)->first()->amount; app('log')->debug(sprintf('Account %s was opened on %s, so opening balance is %f', $account->name, $start->format('Y-m-d'), $entry['start_balance'])); diff --git a/app/Repositories/Tag/TagRepository.php b/app/Repositories/Tag/TagRepository.php index a7fc934539..b8107bef13 100644 --- a/app/Repositories/Tag/TagRepository.php +++ b/app/Repositories/Tag/TagRepository.php @@ -269,8 +269,8 @@ class TagRepository implements TagRepositoryInterface TransactionTypeEnum::WITHDRAWAL->value => '0', TransactionTypeEnum::DEPOSIT->value => '0', TransactionTypeEnum::TRANSFER->value => '0', - TransactionType::RECONCILIATION => '0', - TransactionType::OPENING_BALANCE => '0', + TransactionTypeEnum::RECONCILIATION->value => '0', + TransactionTypeEnum::OPENING_BALANCE->value => '0', ]; // add amount to correct type: @@ -291,8 +291,8 @@ class TagRepository implements TagRepositoryInterface TransactionTypeEnum::WITHDRAWAL->value => '0', TransactionTypeEnum::DEPOSIT->value => '0', TransactionTypeEnum::TRANSFER->value => '0', - TransactionType::RECONCILIATION => '0', - TransactionType::OPENING_BALANCE => '0', + TransactionTypeEnum::RECONCILIATION->value => '0', + TransactionTypeEnum::OPENING_BALANCE->value => '0', ]; // add foreign amount to correct type: $amount = app('steam')->positive((string) $journal['foreign_amount']); diff --git a/app/Services/Internal/Destroy/AccountDestroyService.php b/app/Services/Internal/Destroy/AccountDestroyService.php index f07c1f3e4f..f3faa1ef67 100644 --- a/app/Services/Internal/Destroy/AccountDestroyService.php +++ b/app/Services/Internal/Destroy/AccountDestroyService.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Services\Internal\Destroy; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Models\Account; use FireflyIII\Models\PiggyBank; use FireflyIII\Models\RecurrenceTransaction; @@ -68,7 +69,7 @@ class AccountDestroyService $set = $account->transactions() ->leftJoin('transaction_journals', 'transaction_journals.id', '=', 'transactions.transaction_journal_id') ->leftJoin('transaction_types', 'transaction_types.id', '=', 'transaction_journals.transaction_type_id') - ->where('transaction_types.type', TransactionType::OPENING_BALANCE) + ->where('transaction_types.type', TransactionTypeEnum::OPENING_BALANCE->value) ->get(['transactions.transaction_journal_id']) ; if ($set->count() > 0) { diff --git a/app/Support/Binder/JournalList.php b/app/Support/Binder/JournalList.php index 161f61ed2d..f2e1309b57 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, TransactionTypeEnum::DEPOSIT->value, TransactionTypeEnum::TRANSFER->value, TransactionType::RECONCILIATION]); + $collector->setTypes([TransactionTypeEnum::WITHDRAWAL->value, TransactionTypeEnum::DEPOSIT->value, TransactionTypeEnum::TRANSFER->value, TransactionTypeEnum::RECONCILIATION->value]); $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 0633874da3..a65069d593 100644 --- a/app/Support/Http/Api/AccountBalanceGrouped.php +++ b/app/Support/Http/Api/AccountBalanceGrouped.php @@ -225,8 +225,8 @@ class AccountBalanceGrouped || ( ( TransactionTypeEnum::TRANSFER->value === $journal['transaction_type_type'] - || TransactionType::RECONCILIATION === $journal['transaction_type_type'] - || TransactionType::OPENING_BALANCE === $journal['transaction_type_type'] + || TransactionTypeEnum::RECONCILIATION->value === $journal['transaction_type_type'] + || TransactionTypeEnum::OPENING_BALANCE->value === $journal['transaction_type_type'] ) && in_array($journal['destination_account_id'], $this->accountIds, true) ) diff --git a/app/Support/Http/Api/TransactionFilter.php b/app/Support/Http/Api/TransactionFilter.php index 34c16639fa..db603b31c8 100644 --- a/app/Support/Http/Api/TransactionFilter.php +++ b/app/Support/Http/Api/TransactionFilter.php @@ -42,8 +42,8 @@ trait TransactionFilter TransactionTypeEnum::WITHDRAWAL->value, TransactionTypeEnum::DEPOSIT->value, TransactionTypeEnum::TRANSFER->value, - TransactionType::OPENING_BALANCE, - TransactionType::RECONCILIATION, + TransactionTypeEnum::OPENING_BALANCE->value, + TransactionTypeEnum::RECONCILIATION->value, ], 'withdrawal' => [TransactionTypeEnum::WITHDRAWAL->value], 'withdrawals' => [TransactionTypeEnum::WITHDRAWAL->value], @@ -54,11 +54,11 @@ trait TransactionFilter 'deposits' => [TransactionTypeEnum::DEPOSIT->value], 'transfer' => [TransactionTypeEnum::TRANSFER->value], 'transfers' => [TransactionTypeEnum::TRANSFER->value], - 'opening_balance' => [TransactionType::OPENING_BALANCE], - 'reconciliation' => [TransactionType::RECONCILIATION], - 'reconciliations' => [TransactionType::RECONCILIATION], - 'special' => [TransactionType::OPENING_BALANCE, TransactionType::RECONCILIATION], - 'specials' => [TransactionType::OPENING_BALANCE, TransactionType::RECONCILIATION], + 'opening_balance' => [TransactionTypeEnum::OPENING_BALANCE->value], + 'reconciliation' => [TransactionTypeEnum::RECONCILIATION->value], + 'reconciliations' => [TransactionTypeEnum::RECONCILIATION->value], + 'special' => [TransactionTypeEnum::OPENING_BALANCE->value, TransactionTypeEnum::RECONCILIATION->value], + 'specials' => [TransactionTypeEnum::OPENING_BALANCE->value, TransactionTypeEnum::RECONCILIATION->value], 'default' => [TransactionTypeEnum::WITHDRAWAL->value, TransactionTypeEnum::DEPOSIT->value, TransactionTypeEnum::TRANSFER->value], ]; $return = []; diff --git a/app/Support/Http/Controllers/UserNavigation.php b/app/Support/Http/Controllers/UserNavigation.php index b8fd836bb3..f974d320b8 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, TransactionTypeEnum::DEPOSIT->value, TransactionType::RECONCILIATION]; + $editable = [TransactionTypeEnum::WITHDRAWAL->value, TransactionTypeEnum::TRANSFER->value, TransactionTypeEnum::DEPOSIT->value, TransactionTypeEnum::RECONCILIATION->value]; return in_array($type, $editable, true); } diff --git a/app/Support/Twig/TransactionGroupTwig.php b/app/Support/Twig/TransactionGroupTwig.php index c00b5b1a67..bb60458ad2 100644 --- a/app/Support/Twig/TransactionGroupTwig.php +++ b/app/Support/Twig/TransactionGroupTwig.php @@ -103,12 +103,12 @@ class TransactionGroupTwig extends AbstractExtension } // opening balance and it comes from initial balance? its expense. - if (TransactionType::OPENING_BALANCE === $transactionType && AccountType::INITIAL_BALANCE !== $sourceType) { + if (TransactionTypeEnum::OPENING_BALANCE->value === $transactionType && AccountType::INITIAL_BALANCE !== $sourceType) { $amount = bcmul($amount, '-1'); } // reconciliation and it comes from reconciliation? - if (TransactionType::RECONCILIATION === $transactionType && AccountType::RECONCILIATION !== $sourceType) { + if (TransactionTypeEnum::RECONCILIATION->value === $transactionType && AccountType::RECONCILIATION !== $sourceType) { $amount = bcmul($amount, '-1'); } diff --git a/app/Validation/AccountValidator.php b/app/Validation/AccountValidator.php index 3f42d693d3..a40bb2f79c 100644 --- a/app/Validation/AccountValidator.php +++ b/app/Validation/AccountValidator.php @@ -156,17 +156,17 @@ class AccountValidator break; - case TransactionType::OPENING_BALANCE: + case TransactionTypeEnum::OPENING_BALANCE->value: $result = $this->validateOBDestination($array); break; - case TransactionType::LIABILITY_CREDIT: + case TransactionTypeEnum::LIABILITY_CREDIT->value: $result = $this->validateLCDestination($array); break; - case TransactionType::RECONCILIATION: + case TransactionTypeEnum::RECONCILIATION->value: $result = $this->validateReconciliationDestination($array); break; @@ -201,17 +201,17 @@ class AccountValidator break; - case TransactionType::OPENING_BALANCE: + case TransactionTypeEnum::OPENING_BALANCE->value: $result = $this->validateOBSource($array); break; - case TransactionType::LIABILITY_CREDIT: + case TransactionTypeEnum::LIABILITY_CREDIT->value: $result = $this->validateLCSource($array); break; - case TransactionType::RECONCILIATION: + case TransactionTypeEnum::RECONCILIATION->value: app('log')->debug('Calling validateReconciliationSource'); $result = $this->validateReconciliationSource($array); diff --git a/app/Validation/TransactionValidation.php b/app/Validation/TransactionValidation.php index d9147ca90f..df16bfceae 100644 --- a/app/Validation/TransactionValidation.php +++ b/app/Validation/TransactionValidation.php @@ -159,7 +159,7 @@ trait TransactionValidation protected function sanityCheckReconciliation(Validator $validator, string $transactionType, int $index, array $source, array $destination): void { app('log')->debug('Now in sanityCheckReconciliation'); - if (TransactionType::RECONCILIATION === ucfirst($transactionType) + if (TransactionTypeEnum::RECONCILIATION->value === ucfirst($transactionType) && null === $source['id'] && null === $source['name'] && null === $destination['id'] && null === $destination['name'] ) { app('log')->debug('Both are NULL, error!'); @@ -169,7 +169,7 @@ trait TransactionValidation $validator->errors()->add(sprintf('transactions.%d.destination_name', $index), trans('validation.reconciliation_either_account')); } - if (TransactionType::RECONCILIATION === $transactionType + if (TransactionTypeEnum::RECONCILIATION->value === $transactionType && (null !== $source['id'] || null !== $source['name']) && (null !== $destination['id'] || null !== $destination['name'])) { app('log')->debug('Both are not NULL, error!');