diff --git a/.ci/phpstan.neon b/.ci/phpstan.neon index e454c7fc2a..3f5e7f060e 100644 --- a/.ci/phpstan.neon +++ b/.ci/phpstan.neon @@ -1,6 +1,4 @@ parameters: - scanFiles: - - ../_ide_helper_models.php universalObjectCratesClasses: - Illuminate\Database\Eloquent\Model # TODO: slowly remove these parameters and fix the issues found. @@ -59,5 +57,5 @@ parameters: # The level 8 is the highest level. original was 5 # 7 is more than enough, higher just leaves NULL things. - level: 7 + level: 1 diff --git a/app/Api/V1/Controllers/Insight/Transfer/TagController.php b/app/Api/V1/Controllers/Insight/Transfer/TagController.php index 4d3f8f56db..6faa84840a 100644 --- a/app/Api/V1/Controllers/Insight/Transfer/TagController.php +++ b/app/Api/V1/Controllers/Insight/Transfer/TagController.php @@ -26,6 +26,7 @@ namespace FireflyIII\Api\V1\Controllers\Insight\Transfer; use FireflyIII\Api\V1\Controllers\Controller; use FireflyIII\Api\V1\Requests\Insight\GenericRequest; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Helpers\Collector\GroupCollectorInterface; use FireflyIII\Models\TransactionType; use FireflyIII\Repositories\Tag\TagRepositoryInterface; @@ -72,7 +73,7 @@ class TagController extends Controller // collect all expenses in this period (regardless of type) by the given bills and accounts. $collector = app(GroupCollectorInterface::class); - $collector->setTypes([TransactionType::TRANSFER])->setRange($start, $end)->setDestinationAccounts($accounts); + $collector->setTypes([TransactionTypeEnum::TRANSFER->value])->setRange($start, $end)->setDestinationAccounts($accounts); $collector->withoutTags(); $genericSet = $collector->getExtractedJournals(); @@ -128,7 +129,7 @@ class TagController extends Controller // collect all expenses in this period (regardless of type) by the given bills and accounts. $collector = app(GroupCollectorInterface::class); - $collector->setTypes([TransactionType::TRANSFER])->setRange($start, $end)->setDestinationAccounts($accounts); + $collector->setTypes([TransactionTypeEnum::TRANSFER->value])->setRange($start, $end)->setDestinationAccounts($accounts); $collector->setTags($tags); $genericSet = $collector->getExtractedJournals(); diff --git a/app/Api/V2/Controllers/Model/ExchangeRate/IndexController.php b/app/Api/V2/Controllers/Model/ExchangeRate/IndexController.php index c01c5a5e7c..d800678946 100644 --- a/app/Api/V2/Controllers/Model/ExchangeRate/IndexController.php +++ b/app/Api/V2/Controllers/Model/ExchangeRate/IndexController.php @@ -27,6 +27,7 @@ namespace FireflyIII\Api\V2\Controllers\Model\ExchangeRate; use FireflyIII\Api\V2\Controllers\Controller; use FireflyIII\Repositories\UserGroups\ExchangeRate\ExchangeRateRepositoryInterface; use FireflyIII\Support\Http\Api\ValidatesUserGroupTrait; +use FireflyIII\Transformers\V2\ExchangeRateTransformer; use Illuminate\Http\JsonResponse; use Illuminate\Pagination\LengthAwarePaginator; diff --git a/app/Api/V2/Request/Autocomplete/AutocompleteRequest.php b/app/Api/V2/Request/Autocomplete/AutocompleteRequest.php index 958cf846e3..2c44b1f737 100644 --- a/app/Api/V2/Request/Autocomplete/AutocompleteRequest.php +++ b/app/Api/V2/Request/Autocomplete/AutocompleteRequest.php @@ -26,7 +26,6 @@ namespace FireflyIII\Api\V2\Request\Autocomplete; use FireflyIII\Models\AccountType; use FireflyIII\Support\Http\Api\AccountFilter; -use FireflyIII\Support\Http\Api\ParsesQueryFilters; use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; @@ -39,7 +38,6 @@ class AutocompleteRequest extends FormRequest use AccountFilter; use ChecksLogin; use ConvertsDataTypes; - use ParsesQueryFilters; /** * Loops over all possible query parameters (these are shared over ALL auto complete requests) diff --git a/app/Console/Commands/Correction/ConvertsDatesToUTC.php b/app/Console/Commands/Correction/ConvertsDatesToUTC.php index 9d5c309f53..b42071897b 100644 --- a/app/Console/Commands/Correction/ConvertsDatesToUTC.php +++ b/app/Console/Commands/Correction/ConvertsDatesToUTC.php @@ -82,7 +82,7 @@ class ConvertsDatesToUTC extends Command * @var string $model * @var array $fields */ - foreach (AddTimezonesToDates::$models as $model => $fields) { + foreach (CorrectsTimezoneInformation::$models as $model => $fields) { $this->ConvertModeltoUTC($model, $fields); } // tell the system we are now in UTC mode. diff --git a/app/Console/Commands/Correction/CorrectsAccountTypes.php b/app/Console/Commands/Correction/CorrectsAccountTypes.php index 75be735063..3dcd1c47c8 100644 --- a/app/Console/Commands/Correction/CorrectsAccountTypes.php +++ b/app/Console/Commands/Correction/CorrectsAccountTypes.php @@ -26,6 +26,7 @@ namespace FireflyIII\Console\Commands\Correction; use FireflyIII\Console\Commands\ShowsFriendlyMessages; use FireflyIII\Enums\AccountTypeEnum; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Factory\AccountFactory; use FireflyIII\Models\AccountType; @@ -256,7 +257,7 @@ class CorrectsAccountTypes extends Command private function makeTransfer(TransactionJournal $journal): void { // from an asset to a liability should be a withdrawal: - $withdrawal = TransactionType::whereType(TransactionType::WITHDRAWAL)->first(); + $withdrawal = TransactionType::whereType(TransactionTypeEnum::WITHDRAWAL->value)->first(); $journal->transactionType()->associate($withdrawal); $journal->save(); $message = sprintf('Converted transaction #%d from a transfer to a withdrawal.', $journal->id); @@ -286,7 +287,7 @@ class CorrectsAccountTypes extends Command private function shouldGoToExpenseAccount(string $transactionType, string $sourceType, string $destinationType): bool { - return TransactionType::WITHDRAWAL === $transactionType && AccountType::ASSET === $sourceType && AccountType::REVENUE === $destinationType; + return TransactionTypeEnum::WITHDRAWAL->value === $transactionType && AccountType::ASSET === $sourceType && AccountType::REVENUE === $destinationType; } private function makeExpenseDestination(TransactionJournal $journal, Transaction $destination): void diff --git a/app/Console/Commands/Correction/CorrectsTransferBudgets.php b/app/Console/Commands/Correction/CorrectsTransferBudgets.php index 7d33e95a8d..5c4c817574 100644 --- a/app/Console/Commands/Correction/CorrectsTransferBudgets.php +++ b/app/Console/Commands/Correction/CorrectsTransferBudgets.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\TransactionJournal; use FireflyIII\Models\TransactionType; use Illuminate\Console\Command; @@ -44,7 +45,7 @@ class CorrectsTransferBudgets extends Command $set = TransactionJournal::distinct() ->leftJoin('transaction_types', 'transaction_types.id', '=', 'transaction_journals.transaction_type_id') ->leftJoin('budget_transaction_journal', 'transaction_journals.id', '=', 'budget_transaction_journal.transaction_journal_id') - ->whereNotIn('transaction_types.type', [TransactionType::WITHDRAWAL]) + ->whereNotIn('transaction_types.type', [TransactionTypeEnum::WITHDRAWAL->value]) ->whereNotNull('budget_transaction_journal.budget_id')->get(['transaction_journals.*']) ; $count = 0; diff --git a/app/Console/Commands/Correction/RemovesBills.php b/app/Console/Commands/Correction/RemovesBills.php index e327e37b5e..663c315d73 100644 --- a/app/Console/Commands/Correction/RemovesBills.php +++ b/app/Console/Commands/Correction/RemovesBills.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\TransactionJournal; use FireflyIII\Models\TransactionType; use Illuminate\Console\Command; @@ -42,7 +43,7 @@ class RemovesBills extends Command public function handle(): int { /** @var null|TransactionType $withdrawal */ - $withdrawal = TransactionType::where('type', TransactionType::WITHDRAWAL)->first(); + $withdrawal = TransactionType::where('type', TransactionTypeEnum::WITHDRAWAL->value)->first(); if (null === $withdrawal) { return 0; } diff --git a/app/Console/Commands/Upgrade/UpgradesVariousCurrencyInformation.php b/app/Console/Commands/Upgrade/UpgradesVariousCurrencyInformation.php index 9e2ecf0b53..0f7a2a827b 100644 --- a/app/Console/Commands/Upgrade/UpgradesVariousCurrencyInformation.php +++ b/app/Console/Commands/Upgrade/UpgradesVariousCurrencyInformation.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\AccountType; use FireflyIII\Models\Transaction; @@ -103,7 +104,7 @@ class UpgradesVariousCurrencyInformation extends Command private function updateOtherJournalsCurrencies(): void { $set = $this->cliRepos->getAllJournals( - [TransactionType::WITHDRAWAL, TransactionType::DEPOSIT, TransactionType::OPENING_BALANCE, TransactionType::RECONCILIATION] + [TransactionTypeEnum::WITHDRAWAL->value, TransactionType::DEPOSIT, TransactionType::OPENING_BALANCE, TransactionType::RECONCILIATION] ); /** @var TransactionJournal $journal */ @@ -180,7 +181,7 @@ class UpgradesVariousCurrencyInformation extends Command default: break; - case TransactionType::WITHDRAWAL: + case TransactionTypeEnum::WITHDRAWAL->value: $lead = $journal->transactions()->where('amount', '<', 0)->first(); break; diff --git a/app/Factory/TransactionJournalFactory.php b/app/Factory/TransactionJournalFactory.php index f7db35bc54..c027955476 100644 --- a/app/Factory/TransactionJournalFactory.php +++ b/app/Factory/TransactionJournalFactory.php @@ -166,7 +166,7 @@ class TransactionJournalFactory $currency = $this->currencyRepository->findCurrency((int) $row['currency_id'], $row['currency_code']); $foreignCurrency = $this->currencyRepository->findCurrencyNull($row['foreign_currency_id'], $row['foreign_currency_code']); $bill = $this->billRepository->findBill((int) $row['bill_id'], $row['bill_name']); - $billId = TransactionType::WITHDRAWAL === $type->type && null !== $bill ? $bill->id : null; + $billId = TransactionTypeEnum::WITHDRAWAL->value === $type->type && null !== $bill ? $bill->id : null; $description = (string) $row['description']; // Manipulate basic fields diff --git a/app/Generator/Report/Budget/MonthReportGenerator.php b/app/Generator/Report/Budget/MonthReportGenerator.php index 7ec1cad458..30ce33b129 100644 --- a/app/Generator/Report/Budget/MonthReportGenerator.php +++ b/app/Generator/Report/Budget/MonthReportGenerator.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Generator\Report\Budget; use Carbon\Carbon; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Generator\Report\ReportGeneratorInterface; use FireflyIII\Helpers\Collector\GroupCollectorInterface; @@ -139,7 +140,7 @@ class MonthReportGenerator implements ReportGeneratorInterface /** @var GroupCollectorInterface $collector */ $collector = app(GroupCollectorInterface::class); $collector->setAccounts($this->accounts)->setRange($this->start, $this->end) - ->setTypes([TransactionType::WITHDRAWAL]) + ->setTypes([TransactionTypeEnum::WITHDRAWAL->value]) ->withAccountInformation() ->withBudgetInformation() ->setBudgets($this->budgets) diff --git a/app/Generator/Report/Category/MonthReportGenerator.php b/app/Generator/Report/Category/MonthReportGenerator.php index b840358ccf..df1dd253eb 100644 --- a/app/Generator/Report/Category/MonthReportGenerator.php +++ b/app/Generator/Report/Category/MonthReportGenerator.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Generator\Report\Category; use Carbon\Carbon; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Generator\Report\ReportGeneratorInterface; use FireflyIII\Helpers\Collector\GroupCollectorInterface; @@ -138,7 +139,7 @@ class MonthReportGenerator implements ReportGeneratorInterface /** @var GroupCollectorInterface $collector */ $collector = app(GroupCollectorInterface::class); $collector->setAccounts($this->accounts)->setRange($this->start, $this->end) - ->setTypes([TransactionType::WITHDRAWAL, TransactionType::TRANSFER]) + ->setTypes([TransactionTypeEnum::WITHDRAWAL->value, TransactionType::TRANSFER]) ->setCategories($this->categories)->withAccountInformation() ; diff --git a/app/Handlers/Events/UpdatedGroupEventHandler.php b/app/Handlers/Events/UpdatedGroupEventHandler.php index 3daa2604b9..36502d655d 100644 --- a/app/Handlers/Events/UpdatedGroupEventHandler.php +++ b/app/Handlers/Events/UpdatedGroupEventHandler.php @@ -23,6 +23,7 @@ declare(strict_types=1); namespace FireflyIII\Handlers\Events; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Enums\WebhookTrigger; use FireflyIII\Events\RequestedSendWebhookMessages; use FireflyIII\Events\UpdatedTransactionGroup; @@ -142,7 +143,7 @@ class UpdatedGroupEventHandler $destAccount = $first->transactions()->where('amount', '>', '0')->first()->account; $type = $first->transactionType->type; - if (TransactionType::TRANSFER === $type || TransactionType::WITHDRAWAL === $type) { + if (TransactionType::TRANSFER === $type || TransactionTypeEnum::WITHDRAWAL->value === $type) { // set all source transactions to source account: Transaction::whereIn('transaction_journal_id', $all) ->where('amount', '<', 0)->update(['account_id' => $sourceAccount->id]) diff --git a/app/Helpers/Report/PopupReport.php b/app/Helpers/Report/PopupReport.php index b3c027b098..ced345197f 100644 --- a/app/Helpers/Report/PopupReport.php +++ b/app/Helpers/Report/PopupReport.php @@ -23,6 +23,7 @@ declare(strict_types=1); namespace FireflyIII\Helpers\Report; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Helpers\Collector\GroupCollectorInterface; use FireflyIII\Models\Account; use FireflyIII\Models\Budget; @@ -73,7 +74,7 @@ class PopupReport implements PopupReportInterface $collector = app(GroupCollectorInterface::class); $collector ->setAccounts(new Collection([$account])) - ->setTypes([TransactionType::WITHDRAWAL]) + ->setTypes([TransactionTypeEnum::WITHDRAWAL->value]) ->withAccountInformation() ->withCategoryInformation() ->setRange($attributes['startDate'], $attributes['endDate']) @@ -115,7 +116,7 @@ class PopupReport implements PopupReportInterface $collector->setCurrency($currency); } if (null === $budget->id || 0 === $budget->id) { - $collector->setTypes([TransactionType::WITHDRAWAL])->withoutBudget(); + $collector->setTypes([TransactionTypeEnum::WITHDRAWAL->value])->withoutBudget(); } if (null !== $budget->id && 0 !== $budget->id) { $collector->setBudget($budget); @@ -142,7 +143,7 @@ class PopupReport implements PopupReportInterface $collector = app(GroupCollectorInterface::class); $collector->setAccounts($attributes['accounts']) - ->setTypes([TransactionType::WITHDRAWAL, TransactionType::TRANSFER, TransactionType::DEPOSIT]) + ->setTypes([TransactionTypeEnum::WITHDRAWAL->value, TransactionType::TRANSFER, TransactionType::DEPOSIT]) ->withAccountInformation() ->withBudgetInformation() ->withCategoryInformation() @@ -196,7 +197,7 @@ class PopupReport implements PopupReportInterface ->withAccountInformation() ->withBudgetInformation() ->withCategoryInformation() - ->setTypes([TransactionType::WITHDRAWAL, TransactionType::TRANSFER]) + ->setTypes([TransactionTypeEnum::WITHDRAWAL->value, TransactionType::TRANSFER]) ; if (null !== $currency) { diff --git a/app/Http/Controllers/Budget/ShowController.php b/app/Http/Controllers/Budget/ShowController.php index 42f2c23ce6..b3ec508d43 100644 --- a/app/Http/Controllers/Budget/ShowController.php +++ b/app/Http/Controllers/Budget/ShowController.php @@ -25,6 +25,7 @@ declare(strict_types=1); namespace FireflyIII\Http\Controllers\Budget; use Carbon\Carbon; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Helpers\Collector\GroupCollectorInterface; use FireflyIII\Http\Controllers\Controller; @@ -96,7 +97,7 @@ class ShowController extends Controller /** @var GroupCollectorInterface $collector */ $collector = app(GroupCollectorInterface::class); - $collector->setRange($start, $end)->setTypes([TransactionType::WITHDRAWAL])->setLimit($pageSize)->setPage($page) + $collector->setRange($start, $end)->setTypes([TransactionTypeEnum::WITHDRAWAL->value])->setLimit($pageSize)->setPage($page) ->withoutBudget()->withAccountInformation()->withCategoryInformation() ; $groups = $collector->getPaginatedGroups(); @@ -121,7 +122,7 @@ class ShowController extends Controller /** @var GroupCollectorInterface $collector */ $collector = app(GroupCollectorInterface::class); - $collector->setRange($start, $end)->setTypes([TransactionType::WITHDRAWAL])->setLimit($pageSize)->setPage($page) + $collector->setRange($start, $end)->setTypes([TransactionTypeEnum::WITHDRAWAL->value])->setLimit($pageSize)->setPage($page) ->withoutBudget()->withAccountInformation()->withCategoryInformation() ; $groups = $collector->getPaginatedGroups(); diff --git a/app/Http/Controllers/Category/NoCategoryController.php b/app/Http/Controllers/Category/NoCategoryController.php index d66516ec56..a69318cd67 100644 --- a/app/Http/Controllers/Category/NoCategoryController.php +++ b/app/Http/Controllers/Category/NoCategoryController.php @@ -25,6 +25,7 @@ declare(strict_types=1); namespace FireflyIII\Http\Controllers\Category; use Carbon\Carbon; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Helpers\Collector\GroupCollectorInterface; use FireflyIII\Http\Controllers\Controller; @@ -94,7 +95,7 @@ class NoCategoryController extends Controller $collector->setRange($start, $end) ->setLimit($pageSize)->setPage($page)->withoutCategory() ->withAccountInformation()->withBudgetInformation() - ->setTypes([TransactionType::WITHDRAWAL, TransactionType::DEPOSIT, TransactionType::TRANSFER]) + ->setTypes([TransactionTypeEnum::WITHDRAWAL->value, TransactionType::DEPOSIT, TransactionType::TRANSFER]) ; $groups = $collector->getPaginatedGroups(); $groups->setPath(route('categories.no-category', [$start->format('Y-m-d'), $end->format('Y-m-d')])); @@ -127,7 +128,7 @@ class NoCategoryController extends Controller $collector = app(GroupCollectorInterface::class); $collector->setRange($start, $end)->setLimit($pageSize)->setPage($page)->withoutCategory() ->withAccountInformation()->withBudgetInformation() - ->setTypes([TransactionType::WITHDRAWAL, TransactionType::DEPOSIT, TransactionType::TRANSFER]) + ->setTypes([TransactionTypeEnum::WITHDRAWAL->value, TransactionType::DEPOSIT, TransactionType::TRANSFER]) ; $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 145632b66c..af28d66ebe 100644 --- a/app/Http/Controllers/Chart/AccountController.php +++ b/app/Http/Controllers/Chart/AccountController.php @@ -25,6 +25,7 @@ namespace FireflyIII\Http\Controllers\Chart; use Carbon\Carbon; use FireflyIII\Enums\AccountTypeEnum; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Generator\Chart\Basic\GeneratorInterface; use FireflyIII\Helpers\Collector\GroupCollectorInterface; @@ -225,7 +226,7 @@ class AccountController extends Controller /** @var GroupCollectorInterface $collector */ $collector = app(GroupCollectorInterface::class); - $collector->setAccounts(new Collection([$account]))->setRange($start, $end)->withBudgetInformation()->setTypes([TransactionType::WITHDRAWAL]); + $collector->setAccounts(new Collection([$account]))->setRange($start, $end)->withBudgetInformation()->setTypes([TransactionTypeEnum::WITHDRAWAL->value]); $journals = $collector->getExtractedJournals(); $chartData = []; $result = []; @@ -290,7 +291,7 @@ class AccountController extends Controller /** @var GroupCollectorInterface $collector */ $collector = app(GroupCollectorInterface::class); - $collector->setAccounts(new Collection([$account]))->setRange($start, $end)->withCategoryInformation()->setTypes([TransactionType::WITHDRAWAL]); + $collector->setAccounts(new Collection([$account]))->setRange($start, $end)->withCategoryInformation()->setTypes([TransactionTypeEnum::WITHDRAWAL->value]); $journals = $collector->getExtractedJournals(); $result = []; $chartData = []; diff --git a/app/Http/Controllers/Chart/BudgetController.php b/app/Http/Controllers/Chart/BudgetController.php index e017f322c1..22a2c9b004 100644 --- a/app/Http/Controllers/Chart/BudgetController.php +++ b/app/Http/Controllers/Chart/BudgetController.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Http\Controllers\Chart; use Carbon\Carbon; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Generator\Chart\Basic\GeneratorInterface; use FireflyIII\Helpers\Collector\GroupCollectorInterface; @@ -388,7 +389,7 @@ class BudgetController extends Controller return response()->json($cache->get()); } $collector->setRange($start, $end); - $collector->setTypes([TransactionType::WITHDRAWAL])->setBudget($budget)->withAccountInformation(); + $collector->setTypes([TransactionTypeEnum::WITHDRAWAL->value])->setBudget($budget)->withAccountInformation(); $journals = $collector->getExtractedJournals(); $result = []; $chartData = []; diff --git a/app/Http/Controllers/Chart/TransactionController.php b/app/Http/Controllers/Chart/TransactionController.php index fad9dc67fe..3b5421e162 100644 --- a/app/Http/Controllers/Chart/TransactionController.php +++ b/app/Http/Controllers/Chart/TransactionController.php @@ -25,6 +25,7 @@ declare(strict_types=1); namespace FireflyIII\Http\Controllers\Chart; use Carbon\Carbon; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Generator\Chart\Basic\GeneratorInterface; use FireflyIII\Helpers\Collector\GroupCollectorInterface; use FireflyIII\Http\Controllers\Controller; @@ -66,7 +67,7 @@ class TransactionController extends Controller $collector = app(GroupCollectorInterface::class); $collector->setRange($start, $end); $collector->withBudgetInformation(); - $collector->setTypes([TransactionType::WITHDRAWAL]); + $collector->setTypes([TransactionTypeEnum::WITHDRAWAL->value]); $result = $collector->getExtractedJournals(); $data = []; @@ -109,7 +110,7 @@ class TransactionController extends Controller $collector->withCategoryInformation(); if ('withdrawal' === $objectType) { - $collector->setTypes([TransactionType::WITHDRAWAL]); + $collector->setTypes([TransactionTypeEnum::WITHDRAWAL->value]); } if ('deposit' === $objectType) { $collector->setTypes([TransactionType::DEPOSIT]); @@ -159,7 +160,7 @@ class TransactionController extends Controller $collector->withAccountInformation(); if ('withdrawal' === $objectType) { - $collector->setTypes([TransactionType::WITHDRAWAL]); + $collector->setTypes([TransactionTypeEnum::WITHDRAWAL->value]); } if ('deposit' === $objectType) { $collector->setTypes([TransactionType::DEPOSIT]); @@ -209,7 +210,7 @@ class TransactionController extends Controller $collector->withAccountInformation(); if ('withdrawal' === $objectType) { - $collector->setTypes([TransactionType::WITHDRAWAL]); + $collector->setTypes([TransactionTypeEnum::WITHDRAWAL->value]); } if ('deposit' === $objectType) { $collector->setTypes([TransactionType::DEPOSIT]); diff --git a/app/Http/Controllers/Report/BalanceController.php b/app/Http/Controllers/Report/BalanceController.php index 1810a47d48..8d554bea61 100644 --- a/app/Http/Controllers/Report/BalanceController.php +++ b/app/Http/Controllers/Report/BalanceController.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Http\Controllers\Report; use Carbon\Carbon; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Helpers\Collector\GroupCollectorInterface; use FireflyIII\Http\Controllers\Controller; @@ -96,7 +97,7 @@ class BalanceController extends Controller /** @var GroupCollectorInterface $collector */ $collector = app(GroupCollectorInterface::class); - $journals = $collector->setRange($start, $end)->setSourceAccounts($accounts)->setTypes([TransactionType::WITHDRAWAL])->setBudget($budget) + $journals = $collector->setRange($start, $end)->setSourceAccounts($accounts)->setTypes([TransactionTypeEnum::WITHDRAWAL->value])->setBudget($budget) ->getExtractedJournals() ; diff --git a/app/Http/Controllers/Transaction/MassController.php b/app/Http/Controllers/Transaction/MassController.php index 8278eff521..f95f5a64a0 100644 --- a/app/Http/Controllers/Transaction/MassController.php +++ b/app/Http/Controllers/Transaction/MassController.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Http\Controllers\Transaction; use Carbon\Carbon; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Events\UpdatedTransactionGroup; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Http\Controllers\Controller; @@ -127,7 +128,7 @@ class MassController extends Controller $accountRepository = app(AccountRepositoryInterface::class); // valid withdrawal sources: - $array = array_keys(config(sprintf('firefly.source_dests.%s', TransactionType::WITHDRAWAL))); + $array = array_keys(config(sprintf('firefly.source_dests.%s', TransactionTypeEnum::WITHDRAWAL->value))); $withdrawalSources = $accountRepository->getAccountsByType($array); // valid deposit destinations: diff --git a/app/Http/Requests/RecurrenceFormRequest.php b/app/Http/Requests/RecurrenceFormRequest.php index dbb4c5d4e4..81e012e4e0 100644 --- a/app/Http/Requests/RecurrenceFormRequest.php +++ b/app/Http/Requests/RecurrenceFormRequest.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Factory\CategoryFactory; use FireflyIII\Models\Recurrence; @@ -243,7 +244,7 @@ class RecurrenceFormRequest extends FormRequest // switch on type to expand rules for source and destination accounts: $type = strtolower($this->convertString('transaction_type')); - if (strtolower(TransactionType::WITHDRAWAL) === $type) { + if (strtolower(TransactionTypeEnum::WITHDRAWAL->value) === $type) { $rules['source_id'] = 'required|exists:accounts,id|belongsToUser:accounts'; $rules['destination_name'] = 'min:1|max:255|nullable'; } diff --git a/app/Repositories/Account/AccountTasker.php b/app/Repositories/Account/AccountTasker.php index d367817c73..65a3138e14 100644 --- a/app/Repositories/Account/AccountTasker.php +++ b/app/Repositories/Account/AccountTasker.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\Helpers\Collector\GroupCollectorInterface; use FireflyIII\Models\Account; @@ -121,7 +122,7 @@ class AccountTasker implements AccountTaskerInterface $collector->setSourceAccounts($accounts)->setRange($start, $end); $collector->excludeDestinationAccounts($accounts); - $collector->setTypes([TransactionType::WITHDRAWAL, TransactionType::TRANSFER])->withAccountInformation(); + $collector->setTypes([TransactionTypeEnum::WITHDRAWAL->value, TransactionType::TRANSFER])->withAccountInformation(); $journals = $collector->getExtractedJournals(); $report = $this->groupExpenseByDestination($journals); diff --git a/app/Repositories/Budget/BudgetRepository.php b/app/Repositories/Budget/BudgetRepository.php index ea9c4f3586..3f071e31eb 100644 --- a/app/Repositories/Budget/BudgetRepository.php +++ b/app/Repositories/Budget/BudgetRepository.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Repositories\Budget; use Carbon\Carbon; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Helpers\Collector\GroupCollectorInterface; use FireflyIII\Models\Account; @@ -617,7 +618,7 @@ class BudgetRepository implements BudgetRepositoryInterface $collector->setUser($this->user) ->setRange($start, $end) ->excludeDestinationAccounts($selection) - ->setTypes([TransactionType::WITHDRAWAL]) + ->setTypes([TransactionTypeEnum::WITHDRAWAL->value]) ->setBudgets($this->getActiveBudgets()) ; @@ -679,7 +680,7 @@ class BudgetRepository implements BudgetRepositoryInterface $collector->setUser($this->user) ->setRange($start, $end) ->excludeDestinationAccounts($selection) - ->setTypes([TransactionType::WITHDRAWAL]) + ->setTypes([TransactionTypeEnum::WITHDRAWAL->value]) ->setBudget($budget) ; diff --git a/app/Repositories/Budget/NoBudgetRepository.php b/app/Repositories/Budget/NoBudgetRepository.php index 7e50046aca..fccb277cf1 100644 --- a/app/Repositories/Budget/NoBudgetRepository.php +++ b/app/Repositories/Budget/NoBudgetRepository.php @@ -92,7 +92,7 @@ class NoBudgetRepository implements NoBudgetRepositoryInterface { /** @var GroupCollectorInterface $collector */ $collector = app(GroupCollectorInterface::class); - $collector->setUser($this->user)->setRange($start, $end)->setTypes([TransactionType::WITHDRAWAL]); + $collector->setUser($this->user)->setRange($start, $end)->setTypes([TransactionTypeEnum::WITHDRAWAL->value]); if (null !== $accounts && $accounts->count() > 0) { $collector->setAccounts($accounts); diff --git a/app/Repositories/Budget/OperationsRepository.php b/app/Repositories/Budget/OperationsRepository.php index bc0e78304c..2f05c7ecaa 100644 --- a/app/Repositories/Budget/OperationsRepository.php +++ b/app/Repositories/Budget/OperationsRepository.php @@ -127,7 +127,7 @@ class OperationsRepository implements OperationsRepositoryInterface { /** @var GroupCollectorInterface $collector */ $collector = app(GroupCollectorInterface::class); - $collector->setUser($this->user)->setRange($start, $end)->setTypes([TransactionType::WITHDRAWAL]); + $collector->setUser($this->user)->setRange($start, $end)->setTypes([TransactionTypeEnum::WITHDRAWAL->value]); if (null !== $accounts && $accounts->count() > 0) { $collector->setAccounts($accounts); } diff --git a/app/Repositories/Category/NoCategoryRepository.php b/app/Repositories/Category/NoCategoryRepository.php index 6cc823a29d..91dd8e1eb2 100644 --- a/app/Repositories/Category/NoCategoryRepository.php +++ b/app/Repositories/Category/NoCategoryRepository.php @@ -25,6 +25,7 @@ declare(strict_types=1); namespace FireflyIII\Repositories\Category; use Carbon\Carbon; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Helpers\Collector\GroupCollectorInterface; use FireflyIII\Models\TransactionType; use FireflyIII\Support\Report\Summarizer\TransactionSummarizer; @@ -48,7 +49,7 @@ class NoCategoryRepository implements NoCategoryRepositoryInterface { /** @var GroupCollectorInterface $collector */ $collector = app(GroupCollectorInterface::class); - $collector->setUser($this->user)->setRange($start, $end)->setTypes([TransactionType::WITHDRAWAL])->withoutCategory(); + $collector->setUser($this->user)->setRange($start, $end)->setTypes([TransactionTypeEnum::WITHDRAWAL->value])->withoutCategory(); if (null !== $accounts && $accounts->count() > 0) { $collector->setAccounts($accounts); } @@ -145,7 +146,7 @@ class NoCategoryRepository implements NoCategoryRepositoryInterface { /** @var GroupCollectorInterface $collector */ $collector = app(GroupCollectorInterface::class); - $collector->setUser($this->user)->setRange($start, $end)->setTypes([TransactionType::WITHDRAWAL])->withoutCategory(); + $collector->setUser($this->user)->setRange($start, $end)->setTypes([TransactionTypeEnum::WITHDRAWAL->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 26db0fba10..1fea7b9813 100644 --- a/app/Repositories/Category/OperationsRepository.php +++ b/app/Repositories/Category/OperationsRepository.php @@ -53,7 +53,7 @@ class OperationsRepository implements OperationsRepositoryInterface { /** @var GroupCollectorInterface $collector */ $collector = app(GroupCollectorInterface::class); - $collector->setUser($this->user)->setRange($start, $end)->setTypes([TransactionType::WITHDRAWAL]); + $collector->setUser($this->user)->setRange($start, $end)->setTypes([TransactionTypeEnum::WITHDRAWAL->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 32ae337473..9f6234cb3d 100644 --- a/app/Repositories/Tag/OperationsRepository.php +++ b/app/Repositories/Tag/OperationsRepository.php @@ -25,6 +25,7 @@ declare(strict_types=1); namespace FireflyIII\Repositories\Tag; use Carbon\Carbon; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Helpers\Collector\GroupCollectorInterface; use FireflyIII\Models\TransactionType; @@ -48,7 +49,7 @@ class OperationsRepository implements OperationsRepositoryInterface { /** @var GroupCollectorInterface $collector */ $collector = app(GroupCollectorInterface::class); - $collector->setUser($this->user)->setRange($start, $end)->setTypes([TransactionType::WITHDRAWAL]); + $collector->setUser($this->user)->setRange($start, $end)->setTypes([TransactionTypeEnum::WITHDRAWAL->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 e81173b003..3f6af13c8a 100644 --- a/app/Repositories/Tag/TagRepository.php +++ b/app/Repositories/Tag/TagRepository.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Repositories\Tag; use Carbon\Carbon; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Factory\TagFactory; use FireflyIII\Helpers\Collector\GroupCollectorInterface; use FireflyIII\Models\Attachment; @@ -86,7 +87,7 @@ class TagRepository implements TagRepositoryInterface $collector = app(GroupCollectorInterface::class); $collector->setUser($this->user); - $collector->setRange($start, $end)->setTypes([TransactionType::WITHDRAWAL])->setTag($tag); + $collector->setRange($start, $end)->setTypes([TransactionTypeEnum::WITHDRAWAL->value])->setTag($tag); return $collector->getExtractedJournals(); } @@ -265,7 +266,7 @@ class TagRepository implements TagRepositoryInterface 'currency_name' => $journal['currency_name'], 'currency_symbol' => $journal['currency_symbol'], 'currency_decimal_places' => $journal['currency_decimal_places'], - TransactionType::WITHDRAWAL => '0', + TransactionTypeEnum::WITHDRAWAL->value => '0', TransactionType::DEPOSIT => '0', TransactionType::TRANSFER => '0', TransactionType::RECONCILIATION => '0', @@ -275,7 +276,7 @@ class TagRepository implements TagRepositoryInterface // add amount to correct type: $amount = app('steam')->positive((string) $journal['amount']); $type = $journal['transaction_type_type']; - if (TransactionType::WITHDRAWAL === $type) { + if (TransactionTypeEnum::WITHDRAWAL->value === $type) { $amount = bcmul($amount, '-1'); } $sums[$currencyId][$type] = bcadd($sums[$currencyId][$type], $amount); @@ -287,7 +288,7 @@ class TagRepository implements TagRepositoryInterface 'currency_name' => $journal['foreign_currency_name'], 'currency_symbol' => $journal['foreign_currency_symbol'], 'currency_decimal_places' => $journal['foreign_currency_decimal_places'], - TransactionType::WITHDRAWAL => '0', + TransactionTypeEnum::WITHDRAWAL->value => '0', TransactionType::DEPOSIT => '0', TransactionType::TRANSFER => '0', TransactionType::RECONCILIATION => '0', @@ -295,7 +296,7 @@ class TagRepository implements TagRepositoryInterface ]; // add foreign amount to correct type: $amount = app('steam')->positive((string) $journal['foreign_amount']); - if (TransactionType::WITHDRAWAL === $type) { + if (TransactionTypeEnum::WITHDRAWAL->value === $type) { $amount = bcmul($amount, '-1'); } $sums[$foreignCurrencyId][$type] = bcadd($sums[$foreignCurrencyId][$type], $amount); diff --git a/app/Repositories/TransactionGroup/TransactionGroupRepository.php b/app/Repositories/TransactionGroup/TransactionGroupRepository.php index 531c36a46a..349209cd9a 100644 --- a/app/Repositories/TransactionGroup/TransactionGroupRepository.php +++ b/app/Repositories/TransactionGroup/TransactionGroupRepository.php @@ -25,6 +25,7 @@ declare(strict_types=1); namespace FireflyIII\Repositories\TransactionGroup; use Carbon\Carbon; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Exceptions\DuplicateTransactionException; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Factory\TransactionGroupFactory; @@ -250,10 +251,10 @@ class TransactionGroupRepository implements TransactionGroupRepositoryInterface $type = $journal->transactionType->type; $amount = app('steam')->positive($transaction->amount); $return = ''; - if (TransactionType::WITHDRAWAL === $type) { + if (TransactionTypeEnum::WITHDRAWAL->value === $type) { $return = app('amount')->formatAnything($currency, app('steam')->negative($amount)); } - if (TransactionType::WITHDRAWAL !== $type) { + if (TransactionTypeEnum::WITHDRAWAL->value !== $type) { $return = app('amount')->formatAnything($currency, $amount); } @@ -274,10 +275,10 @@ class TransactionGroupRepository implements TransactionGroupRepositoryInterface $type = $journal->transactionType->type; $amount = app('steam')->positive($transaction->foreign_amount); $return = ''; - if (TransactionType::WITHDRAWAL === $type) { + if (TransactionTypeEnum::WITHDRAWAL->value === $type) { $return = app('amount')->formatAnything($currency, app('steam')->negative($amount)); } - if (TransactionType::WITHDRAWAL !== $type) { + if (TransactionTypeEnum::WITHDRAWAL->value !== $type) { $return = app('amount')->formatAnything($currency, $amount); } diff --git a/app/Repositories/TransactionType/TransactionTypeRepository.php b/app/Repositories/TransactionType/TransactionTypeRepository.php index b0c647e7ab..0576e9018c 100644 --- a/app/Repositories/TransactionType/TransactionTypeRepository.php +++ b/app/Repositories/TransactionType/TransactionTypeRepository.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Repositories\TransactionType; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Models\TransactionType; use Illuminate\Support\Collection; @@ -40,10 +41,10 @@ class TransactionTypeRepository implements TransactionTypeRepositoryInterface return $type; } - $typeString ??= TransactionType::WITHDRAWAL; + $typeString ??= TransactionTypeEnum::WITHDRAWAL->value; $search = $this->findByType($typeString); if (null === $search) { - $search = $this->findByType(TransactionType::WITHDRAWAL); + $search = $this->findByType(TransactionTypeEnum::WITHDRAWAL->value); } app('log')->debug(sprintf('Tried to search for "%s", came up with "%s". Will return it.', $typeString, $search->type)); diff --git a/app/Repositories/UserGroups/Budget/OperationsRepository.php b/app/Repositories/UserGroups/Budget/OperationsRepository.php index 3d4c5f0108..22542fffe1 100644 --- a/app/Repositories/UserGroups/Budget/OperationsRepository.php +++ b/app/Repositories/UserGroups/Budget/OperationsRepository.php @@ -25,6 +25,7 @@ declare(strict_types=1); namespace FireflyIII\Repositories\UserGroups\Budget; use Carbon\Carbon; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Helpers\Collector\GroupCollectorInterface; use FireflyIII\Models\TransactionType; @@ -45,7 +46,7 @@ class OperationsRepository implements OperationsRepositoryInterface { /** @var GroupCollectorInterface $collector */ $collector = app(GroupCollectorInterface::class); - $collector->setUserGroup($this->userGroup)->setRange($start, $end)->setTypes([TransactionType::WITHDRAWAL]); + $collector->setUserGroup($this->userGroup)->setRange($start, $end)->setTypes([TransactionTypeEnum::WITHDRAWAL->value]); if (null !== $accounts && $accounts->count() > 0) { $collector->setAccounts($accounts); } diff --git a/app/Services/Internal/Support/CreditRecalculateService.php b/app/Services/Internal/Support/CreditRecalculateService.php index 891f4b4a81..c6aba98736 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, [TransactionType::WITHDRAWAL, TransactionType::DEPOSIT, TransactionType::TRANSFER], true)) { + if (in_array($type, [TransactionTypeEnum::WITHDRAWAL->value, TransactionType::DEPOSIT, TransactionType::TRANSFER], true)) { $usedAmount = app('steam')->negative($usedAmount); return bcadd($leftOfDebt, $usedAmount); @@ -380,7 +380,7 @@ class CreditRecalculateService */ private function isWithdrawalIn(string $amount, string $transactionType): bool { - return TransactionType::WITHDRAWAL === $transactionType && 1 === bccomp($amount, '0'); + return TransactionTypeEnum::WITHDRAWAL->value === $transactionType && 1 === bccomp($amount, '0'); } /** @@ -396,7 +396,7 @@ class CreditRecalculateService */ private function isWithdrawalOut(string $amount, string $transactionType): bool { - return TransactionType::WITHDRAWAL === $transactionType && -1 === bccomp($amount, '0'); + return TransactionTypeEnum::WITHDRAWAL->value === $transactionType && -1 === bccomp($amount, '0'); } /** diff --git a/app/Services/Internal/Support/JournalServiceTrait.php b/app/Services/Internal/Support/JournalServiceTrait.php index 90091b8477..e16b956267 100644 --- a/app/Services/Internal/Support/JournalServiceTrait.php +++ b/app/Services/Internal/Support/JournalServiceTrait.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Services\Internal\Support; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Factory\AccountMetaFactory; use FireflyIII\Factory\TagFactory; @@ -359,7 +360,7 @@ trait JournalServiceTrait protected function storeBudget(TransactionJournal $journal, NullArrayObject $data): void { - if (TransactionType::WITHDRAWAL !== $journal->transactionType->type) { + if (TransactionTypeEnum::WITHDRAWAL->value !== $journal->transactionType->type) { $journal->budgets()->sync([]); return; diff --git a/app/Services/Internal/Update/JournalUpdateService.php b/app/Services/Internal/Update/JournalUpdateService.php index e07a4b6da5..391f36e29f 100644 --- a/app/Services/Internal/Update/JournalUpdateService.php +++ b/app/Services/Internal/Update/JournalUpdateService.php @@ -467,7 +467,7 @@ class JournalUpdateService array_key_exists('bill_id', $this->data) || array_key_exists('bill_name', $this->data) ) - && TransactionType::WITHDRAWAL === $type + && TransactionTypeEnum::WITHDRAWAL->value === $type ) { $billId = (int) ($this->data['bill_id'] ?? 0); $billName = (string) ($this->data['bill_name'] ?? ''); diff --git a/app/Support/Binder/JournalList.php b/app/Support/Binder/JournalList.php index 95b067a140..9273da95d6 100644 --- a/app/Support/Binder/JournalList.php +++ b/app/Support/Binder/JournalList.php @@ -23,6 +23,7 @@ declare(strict_types=1); namespace FireflyIII\Support\Binder; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Helpers\Collector\GroupCollectorInterface; use FireflyIII\Models\TransactionType; use Illuminate\Routing\Route; @@ -44,7 +45,7 @@ class JournalList implements BinderInterface // get the journals by using the collector. /** @var GroupCollectorInterface $collector */ $collector = app(GroupCollectorInterface::class); - $collector->setTypes([TransactionType::WITHDRAWAL, TransactionType::DEPOSIT, TransactionType::TRANSFER, TransactionType::RECONCILIATION]); + $collector->setTypes([TransactionTypeEnum::WITHDRAWAL->value, TransactionType::DEPOSIT, TransactionType::TRANSFER, TransactionType::RECONCILIATION]); $collector->withCategoryInformation()->withBudgetInformation()->withTagInformation()->withAccountInformation(); $collector->setJournalIds($list); $result = $collector->getExtractedJournals(); diff --git a/app/Support/Http/Api/TransactionFilter.php b/app/Support/Http/Api/TransactionFilter.php index 5b8b01de93..75fff67756 100644 --- a/app/Support/Http/Api/TransactionFilter.php +++ b/app/Support/Http/Api/TransactionFilter.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Support\Http\Api; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Models\TransactionType; /** @@ -38,16 +39,16 @@ trait TransactionFilter { $types = [ 'all' => [ - TransactionType::WITHDRAWAL, + TransactionTypeEnum::WITHDRAWAL->value, TransactionType::DEPOSIT, TransactionType::TRANSFER, TransactionType::OPENING_BALANCE, TransactionType::RECONCILIATION, ], - 'withdrawal' => [TransactionType::WITHDRAWAL], - 'withdrawals' => [TransactionType::WITHDRAWAL], - 'expense' => [TransactionType::WITHDRAWAL], - 'expenses' => [TransactionType::WITHDRAWAL], + 'withdrawal' => [TransactionTypeEnum::WITHDRAWAL->value], + 'withdrawals' => [TransactionTypeEnum::WITHDRAWAL->value], + 'expense' => [TransactionTypeEnum::WITHDRAWAL->value], + 'expenses' => [TransactionTypeEnum::WITHDRAWAL->value], 'income' => [TransactionType::DEPOSIT], 'deposit' => [TransactionType::DEPOSIT], 'deposits' => [TransactionType::DEPOSIT], @@ -58,7 +59,7 @@ trait TransactionFilter 'reconciliations' => [TransactionType::RECONCILIATION], 'special' => [TransactionType::OPENING_BALANCE, TransactionType::RECONCILIATION], 'specials' => [TransactionType::OPENING_BALANCE, TransactionType::RECONCILIATION], - 'default' => [TransactionType::WITHDRAWAL, TransactionType::DEPOSIT, TransactionType::TRANSFER], + 'default' => [TransactionTypeEnum::WITHDRAWAL->value, TransactionType::DEPOSIT, TransactionType::TRANSFER], ]; $return = []; $parts = explode(',', $type); diff --git a/app/Support/Http/Controllers/AugumentData.php b/app/Support/Http/Controllers/AugumentData.php index ca37bf480e..9290d9e562 100644 --- a/app/Support/Http/Controllers/AugumentData.php +++ b/app/Support/Http/Controllers/AugumentData.php @@ -25,6 +25,7 @@ declare(strict_types=1); namespace FireflyIII\Support\Http\Controllers; use Carbon\Carbon; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Helpers\Collector\GroupCollectorInterface; use FireflyIII\Models\Account; use FireflyIII\Models\AccountType; @@ -232,10 +233,10 @@ trait AugumentData /** @var array $journal */ foreach ($array as $journal) { $name = '(no name)'; - if (TransactionType::WITHDRAWAL === $journal['transaction_type_type']) { + if (TransactionTypeEnum::WITHDRAWAL->value === $journal['transaction_type_type']) { $name = $journal['destination_account_name']; } - if (TransactionType::WITHDRAWAL !== $journal['transaction_type_type']) { + if (TransactionTypeEnum::WITHDRAWAL->value !== $journal['transaction_type_type']) { $name = $journal['source_account_name']; } @@ -255,7 +256,7 @@ trait AugumentData $collector = app(GroupCollectorInterface::class); $total = $assets->merge($opposing); - $collector->setRange($start, $end)->setTypes([TransactionType::WITHDRAWAL])->setAccounts($total); + $collector->setRange($start, $end)->setTypes([TransactionTypeEnum::WITHDRAWAL->value])->setAccounts($total); $journals = $collector->getExtractedJournals(); $sum = [ 'grand_sum' => '0', diff --git a/app/Support/Http/Controllers/PeriodOverview.php b/app/Support/Http/Controllers/PeriodOverview.php index 632f5088cf..d6aead03b7 100644 --- a/app/Support/Http/Controllers/PeriodOverview.php +++ b/app/Support/Http/Controllers/PeriodOverview.php @@ -25,6 +25,7 @@ declare(strict_types=1); namespace FireflyIII\Support\Http\Controllers; use Carbon\Carbon; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Helpers\Collector\GroupCollectorInterface; use FireflyIII\Models\Account; @@ -105,7 +106,7 @@ trait PeriodOverview $collector = app(GroupCollectorInterface::class); $collector->setAccounts(new Collection([$account])); $collector->setRange($start, $end); - $collector->setTypes([TransactionType::WITHDRAWAL]); + $collector->setTypes([TransactionTypeEnum::WITHDRAWAL->value]); $spentSet = $collector->getExtractedJournals(); // collect all transfers in this period: @@ -279,7 +280,7 @@ trait PeriodOverview $collector = app(GroupCollectorInterface::class); $collector->setCategory($category); $collector->setRange($start, $end); - $collector->setTypes([TransactionType::WITHDRAWAL]); + $collector->setTypes([TransactionTypeEnum::WITHDRAWAL->value]); $spentSet = $collector->getExtractedJournals(); // collect all transfers in this period: @@ -343,7 +344,7 @@ trait PeriodOverview // get all expenses without a budget. /** @var GroupCollectorInterface $collector */ $collector = app(GroupCollectorInterface::class); - $collector->setRange($start, $end)->withoutBudget()->withAccountInformation()->setTypes([TransactionType::WITHDRAWAL]); + $collector->setRange($start, $end)->withoutBudget()->withAccountInformation()->setTypes([TransactionTypeEnum::WITHDRAWAL->value]); $journals = $collector->getExtractedJournals(); foreach ($dates as $currentDate) { @@ -401,7 +402,7 @@ trait PeriodOverview $collector = app(GroupCollectorInterface::class); $collector->withoutCategory(); $collector->setRange($start, $end); - $collector->setTypes([TransactionType::WITHDRAWAL]); + $collector->setTypes([TransactionTypeEnum::WITHDRAWAL->value]); $spentSet = $collector->getExtractedJournals(); // collect all transfers in this period: @@ -470,7 +471,7 @@ trait PeriodOverview $collector = app(GroupCollectorInterface::class); $collector->setTag($tag); $collector->setRange($start, $end); - $collector->setTypes([TransactionType::WITHDRAWAL]); + $collector->setTypes([TransactionTypeEnum::WITHDRAWAL->value]); $spentSet = $collector->getExtractedJournals(); // collect all transfers in this period: diff --git a/app/Support/Http/Controllers/TransactionCalculation.php b/app/Support/Http/Controllers/TransactionCalculation.php index a3447c66ba..6de7a01bf2 100644 --- a/app/Support/Http/Controllers/TransactionCalculation.php +++ b/app/Support/Http/Controllers/TransactionCalculation.php @@ -25,6 +25,7 @@ declare(strict_types=1); namespace FireflyIII\Support\Http\Controllers; use Carbon\Carbon; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Helpers\Collector\GroupCollectorInterface; use FireflyIII\Models\TransactionType; use Illuminate\Support\Collection; @@ -46,7 +47,7 @@ trait TransactionCalculation $collector->setAccounts($total) ->setRange($start, $end) ->withAccountInformation() - ->setTypes([TransactionType::WITHDRAWAL]) + ->setTypes([TransactionTypeEnum::WITHDRAWAL->value]) ; return $collector->getExtractedJournals(); @@ -60,7 +61,7 @@ trait TransactionCalculation /** @var GroupCollectorInterface $collector */ $collector = app(GroupCollectorInterface::class); - $collector->setAccounts($accounts)->setRange($start, $end)->setTypes([TransactionType::WITHDRAWAL, TransactionType::TRANSFER]) + $collector->setAccounts($accounts)->setRange($start, $end)->setTypes([TransactionTypeEnum::WITHDRAWAL->value, TransactionType::TRANSFER]) ->setTags($tags)->withAccountInformation() ; @@ -74,7 +75,7 @@ trait TransactionCalculation { /** @var GroupCollectorInterface $collector */ $collector = app(GroupCollectorInterface::class); - $collector->setAccounts($accounts)->setRange($start, $end)->setTypes([TransactionType::WITHDRAWAL, TransactionType::TRANSFER]) + $collector->setAccounts($accounts)->setRange($start, $end)->setTypes([TransactionTypeEnum::WITHDRAWAL->value, TransactionType::TRANSFER]) ->setBudgets($budgets)->withAccountInformation() ; @@ -91,7 +92,7 @@ trait TransactionCalculation $collector ->setAccounts($accounts) ->setRange($start, $end) - ->setTypes([TransactionType::WITHDRAWAL, TransactionType::TRANSFER]) + ->setTypes([TransactionTypeEnum::WITHDRAWAL->value, TransactionType::TRANSFER]) ->setCategories($categories) ->withAccountInformation() ; diff --git a/app/Support/Http/Controllers/UserNavigation.php b/app/Support/Http/Controllers/UserNavigation.php index f9f2bc4091..8a9c4c7d78 100644 --- a/app/Support/Http/Controllers/UserNavigation.php +++ b/app/Support/Http/Controllers/UserNavigation.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Support\Http\Controllers; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Models\Account; use FireflyIII\Models\AccountType; use FireflyIII\Models\Transaction; @@ -74,7 +75,7 @@ trait UserNavigation return false; } $type = $journal->transactionType->type; - $editable = [TransactionType::WITHDRAWAL, TransactionType::TRANSFER, TransactionType::DEPOSIT, TransactionType::RECONCILIATION]; + $editable = [TransactionTypeEnum::WITHDRAWAL->value, TransactionType::TRANSFER, TransactionType::DEPOSIT, TransactionType::RECONCILIATION]; return in_array($type, $editable, true); } diff --git a/app/Support/Twig/TransactionGroupTwig.php b/app/Support/Twig/TransactionGroupTwig.php index 4f13658810..7a2ce23415 100644 --- a/app/Support/Twig/TransactionGroupTwig.php +++ b/app/Support/Twig/TransactionGroupTwig.php @@ -25,6 +25,7 @@ declare(strict_types=1); namespace FireflyIII\Support\Twig; use Carbon\Carbon; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Models\AccountType; use FireflyIII\Models\Transaction; use FireflyIII\Models\TransactionJournal; @@ -76,7 +77,7 @@ class TransactionGroupTwig extends AbstractExtension */ private function normalJournalArrayAmount(array $array): string { - $type = $array['transaction_type_type'] ?? TransactionType::WITHDRAWAL; + $type = $array['transaction_type_type'] ?? TransactionTypeEnum::WITHDRAWAL->value; $amount = $array['amount'] ?? '0'; $colored = true; $sourceType = $array['source_account_type'] ?? 'invalid'; @@ -97,7 +98,7 @@ class TransactionGroupTwig extends AbstractExtension private function signAmount(string $amount, string $transactionType, string $sourceType): string { // withdrawals stay negative - if (TransactionType::WITHDRAWAL !== $transactionType) { + if (TransactionTypeEnum::WITHDRAWAL->value !== $transactionType) { $amount = bcmul($amount, '-1'); } @@ -119,7 +120,7 @@ class TransactionGroupTwig extends AbstractExtension */ private function foreignJournalArrayAmount(array $array): string { - $type = $array['transaction_type_type'] ?? TransactionType::WITHDRAWAL; + $type = $array['transaction_type_type'] ?? TransactionTypeEnum::WITHDRAWAL->value; $amount = $array['foreign_amount'] ?? '0'; $colored = true; diff --git a/app/TransactionRules/Actions/ConvertToDeposit.php b/app/TransactionRules/Actions/ConvertToDeposit.php index 0ccb316104..18b5fe88fb 100644 --- a/app/TransactionRules/Actions/ConvertToDeposit.php +++ b/app/TransactionRules/Actions/ConvertToDeposit.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\Exceptions\FireflyException; @@ -81,7 +82,7 @@ class ConvertToDeposit implements ActionInterface return false; } - if (TransactionType::WITHDRAWAL === $type) { + if (TransactionTypeEnum::WITHDRAWAL->value === $type) { app('log')->debug('Going to transform a withdrawal to a deposit.'); try { @@ -94,7 +95,7 @@ class ConvertToDeposit implements ActionInterface return false; } - event(new TriggeredAuditLog($this->action->rule, $object, 'update_transaction_type', TransactionType::WITHDRAWAL, TransactionType::DEPOSIT)); + event(new TriggeredAuditLog($this->action->rule, $object, 'update_transaction_type', TransactionTypeEnum::WITHDRAWAL->value, TransactionType::DEPOSIT)); return $res; } diff --git a/app/TransactionRules/Actions/ConvertToTransfer.php b/app/TransactionRules/Actions/ConvertToTransfer.php index b743736468..05799d127c 100644 --- a/app/TransactionRules/Actions/ConvertToTransfer.php +++ b/app/TransactionRules/Actions/ConvertToTransfer.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\Model\Rule\RuleActionFailedOnObject; use FireflyIII\Events\TriggeredAuditLog; @@ -86,7 +87,7 @@ class ConvertToTransfer implements ActionInterface return false; } - if (TransactionType::DEPOSIT !== $type && TransactionType::WITHDRAWAL !== $type) { + if (TransactionType::DEPOSIT !== $type && TransactionTypeEnum::WITHDRAWAL->value !== $type) { event(new RuleActionFailedOnArray($this->action, $journal, trans('rules.unsupported_transaction_type_transfer', ['type' => $type]))); return false; @@ -97,7 +98,7 @@ class ConvertToTransfer implements ActionInterface $repository = app(AccountRepositoryInterface::class); $repository->setUser($user); $expectedType = null; - if (TransactionType::WITHDRAWAL === $type) { + if (TransactionTypeEnum::WITHDRAWAL->value === $type) { $expectedType = $this->getSourceType($journalId); // Withdrawal? Replace destination with account with same type as source. } @@ -122,7 +123,7 @@ class ConvertToTransfer implements ActionInterface return false; } - if (TransactionType::WITHDRAWAL === $type) { + if (TransactionTypeEnum::WITHDRAWAL->value === $type) { app('log')->debug('Going to transform a withdrawal to a transfer.'); try { @@ -135,7 +136,7 @@ class ConvertToTransfer implements ActionInterface return false; } if (false !== $res) { - event(new TriggeredAuditLog($this->action->rule, $object, 'update_transaction_type', TransactionType::WITHDRAWAL, TransactionType::TRANSFER)); + event(new TriggeredAuditLog($this->action->rule, $object, 'update_transaction_type', TransactionTypeEnum::WITHDRAWAL->value, TransactionType::TRANSFER)); } return $res; diff --git a/app/TransactionRules/Actions/ConvertToWithdrawal.php b/app/TransactionRules/Actions/ConvertToWithdrawal.php index 52faecb7f5..f8d417906c 100644 --- a/app/TransactionRules/Actions/ConvertToWithdrawal.php +++ b/app/TransactionRules/Actions/ConvertToWithdrawal.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\Exceptions\FireflyException; @@ -73,7 +74,7 @@ class ConvertToWithdrawal implements ActionInterface } $type = $object->transactionType->type; - if (TransactionType::WITHDRAWAL === $type) { + if (TransactionTypeEnum::WITHDRAWAL->value === $type) { app('log')->error(sprintf('Journal #%d is already a withdrawal (rule #%d).', $journal['transaction_journal_id'], $this->action->rule_id)); event(new RuleActionFailedOnArray($this->action, $journal, trans('rules.is_already_withdrawal'))); @@ -96,7 +97,7 @@ class ConvertToWithdrawal implements ActionInterface return false; } - event(new TriggeredAuditLog($this->action->rule, $object, 'update_transaction_type', TransactionType::DEPOSIT, TransactionType::WITHDRAWAL)); + event(new TriggeredAuditLog($this->action->rule, $object, 'update_transaction_type', TransactionType::DEPOSIT, TransactionTypeEnum::WITHDRAWAL->value)); return $res; } @@ -112,7 +113,7 @@ class ConvertToWithdrawal implements ActionInterface return false; } - event(new TriggeredAuditLog($this->action->rule, $object, 'update_transaction_type', TransactionType::TRANSFER, TransactionType::WITHDRAWAL)); + event(new TriggeredAuditLog($this->action->rule, $object, 'update_transaction_type', TransactionType::TRANSFER, TransactionTypeEnum::WITHDRAWAL->value)); return $res; } @@ -161,7 +162,7 @@ class ConvertToWithdrawal implements ActionInterface ; // change transaction type of journal: - $newType = TransactionType::whereType(TransactionType::WITHDRAWAL)->first(); + $newType = TransactionType::whereType(TransactionTypeEnum::WITHDRAWAL->value)->first(); \DB::table('transaction_journals') ->where('id', '=', $journal->id) ->update(['transaction_type_id' => $newType->id]) @@ -240,7 +241,7 @@ class ConvertToWithdrawal implements ActionInterface ; // change transaction type of journal: - $newType = TransactionType::whereType(TransactionType::WITHDRAWAL)->first(); + $newType = TransactionType::whereType(TransactionTypeEnum::WITHDRAWAL->value)->first(); \DB::table('transaction_journals') ->where('id', '=', $journal->id) ->update(['transaction_type_id' => $newType->id]) diff --git a/app/TransactionRules/Actions/LinkToBill.php b/app/TransactionRules/Actions/LinkToBill.php index a073c657e1..3c6c08850b 100644 --- a/app/TransactionRules/Actions/LinkToBill.php +++ b/app/TransactionRules/Actions/LinkToBill.php @@ -23,6 +23,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; @@ -57,7 +58,7 @@ class LinkToBill implements ActionInterface $billName = $this->action->getValue($journal); $bill = $repository->findByName($billName); - if (null !== $bill && TransactionType::WITHDRAWAL === $journal['transaction_type_type']) { + if (null !== $bill && TransactionTypeEnum::WITHDRAWAL->value === $journal['transaction_type_type']) { $count = \DB::table('transaction_journals')->where('id', '=', $journal['transaction_journal_id']) ->where('bill_id', $bill->id)->count() ; diff --git a/app/TransactionRules/Actions/SetBudget.php b/app/TransactionRules/Actions/SetBudget.php index 3063efc414..17d64dfdd3 100644 --- a/app/TransactionRules/Actions/SetBudget.php +++ b/app/TransactionRules/Actions/SetBudget.php @@ -23,6 +23,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; @@ -65,7 +66,7 @@ class SetBudget implements ActionInterface return false; } - if (TransactionType::WITHDRAWAL !== $journal['transaction_type_type']) { + if (TransactionTypeEnum::WITHDRAWAL->value !== $journal['transaction_type_type']) { app('log')->debug( sprintf( 'RuleAction SetBudget could not set budget of journal #%d to "%s" because journal is a %s.', diff --git a/app/TransactionRules/Actions/SetDestinationAccount.php b/app/TransactionRules/Actions/SetDestinationAccount.php index 8dd35245bc..8a78661d91 100644 --- a/app/TransactionRules/Actions/SetDestinationAccount.php +++ b/app/TransactionRules/Actions/SetDestinationAccount.php @@ -23,6 +23,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\Account; @@ -116,7 +117,7 @@ class SetDestinationAccount implements ActionInterface // if this is a withdrawal, the new destination account must be a expense account and may be created: // or it is a liability, in which case it must be returned. - if (TransactionType::WITHDRAWAL === $type) { + if (TransactionTypeEnum::WITHDRAWAL->value === $type) { $newAccount = $this->findWithdrawalDestinationAccount($accountName); } diff --git a/app/TransactionRules/Actions/SetDestinationToCashAccount.php b/app/TransactionRules/Actions/SetDestinationToCashAccount.php index 9ebcef779f..6094d84a72 100644 --- a/app/TransactionRules/Actions/SetDestinationToCashAccount.php +++ b/app/TransactionRules/Actions/SetDestinationToCashAccount.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 SetDestinationToCashAccount implements ActionInterface return false; } $type = $object->transactionType->type; - if (TransactionType::WITHDRAWAL !== $type) { + if (TransactionTypeEnum::WITHDRAWAL->value !== $type) { app('log')->error('Transaction must be withdrawal.'); event(new RuleActionFailedOnArray($this->action, $journal, trans('rules.not_withdrawal'))); diff --git a/app/TransactionRules/Actions/SetSourceAccount.php b/app/TransactionRules/Actions/SetSourceAccount.php index dd0d5a671f..830518db90 100644 --- a/app/TransactionRules/Actions/SetSourceAccount.php +++ b/app/TransactionRules/Actions/SetSourceAccount.php @@ -23,6 +23,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\Account; @@ -70,7 +71,7 @@ class SetSourceAccount implements ActionInterface // if this is a transfer or a withdrawal, the new source account must be an asset account or a default account, and it MUST exist: $newAccount = $this->findAssetAccount($type, $accountName); - if ((TransactionType::WITHDRAWAL === $type || TransactionType::TRANSFER === $type) && null === $newAccount) { + if ((TransactionTypeEnum::WITHDRAWAL->value === $type || TransactionType::TRANSFER === $type) && null === $newAccount) { app('log')->error( sprintf('Cant change source account of journal #%d because no asset account with name "%s" exists.', $object->id, $accountName) ); diff --git a/app/Transformers/TransactionGroupTransformer.php b/app/Transformers/TransactionGroupTransformer.php index b5a66b4458..79fa691cdc 100644 --- a/app/Transformers/TransactionGroupTransformer.php +++ b/app/Transformers/TransactionGroupTransformer.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Transformers; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Models\Bill; use FireflyIII\Models\Budget; @@ -123,7 +124,7 @@ class TransactionGroupTransformer extends AbstractTransformer $metaFieldData = $this->groupRepos->getMetaFields((int) $row['transaction_journal_id'], $this->metaFields); $metaDateData = $this->groupRepos->getMetaDateFields((int) $row['transaction_journal_id'], $this->metaDateFields); - $type = $this->stringFromArray($transaction, 'transaction_type_type', TransactionType::WITHDRAWAL); + $type = $this->stringFromArray($transaction, 'transaction_type_type', TransactionTypeEnum::WITHDRAWAL->value); $longitude = null; $latitude = null; diff --git a/app/Transformers/V2/TransactionGroupTransformer.php b/app/Transformers/V2/TransactionGroupTransformer.php index 37b777aac5..e740477570 100644 --- a/app/Transformers/V2/TransactionGroupTransformer.php +++ b/app/Transformers/V2/TransactionGroupTransformer.php @@ -25,6 +25,7 @@ declare(strict_types=1); namespace FireflyIII\Transformers\V2; use Carbon\Carbon; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Models\Budget; use FireflyIII\Models\Category; @@ -315,7 +316,7 @@ class TransactionGroupTransformer extends AbstractTransformer private function transformTransaction(array $transaction): array { $transaction = new NullArrayObject($transaction); - $type = $this->stringFromArray($transaction, 'transaction_type_type', TransactionType::WITHDRAWAL); + $type = $this->stringFromArray($transaction, 'transaction_type_type', TransactionTypeEnum::WITHDRAWAL->value); $journalId = (int) $transaction['transaction_journal_id']; $meta = new NullArrayObject($this->meta[$journalId] ?? []); diff --git a/app/Validation/AccountValidator.php b/app/Validation/AccountValidator.php index da47855d40..b14b7d665a 100644 --- a/app/Validation/AccountValidator.php +++ b/app/Validation/AccountValidator.php @@ -25,6 +25,7 @@ declare(strict_types=1); namespace FireflyIII\Validation; use FireflyIII\Enums\AccountTypeEnum; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Models\Account; use FireflyIII\Models\TransactionType; use FireflyIII\Models\UserGroup; @@ -140,7 +141,7 @@ class AccountValidator break; - case TransactionType::WITHDRAWAL: + case TransactionTypeEnum::WITHDRAWAL->value: $result = $this->validateWithdrawalDestination($array); break; @@ -185,7 +186,7 @@ class AccountValidator break; - case TransactionType::WITHDRAWAL: + case TransactionTypeEnum::WITHDRAWAL->value: $result = $this->validateWithdrawalSource($array); break; diff --git a/app/Validation/TransactionValidation.php b/app/Validation/TransactionValidation.php index 81f77a0c1c..0822b5c0f0 100644 --- a/app/Validation/TransactionValidation.php +++ b/app/Validation/TransactionValidation.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Validation; +use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Models\Account; use FireflyIII\Models\AccountType; @@ -259,7 +260,7 @@ trait TransactionValidation return; } } - if (TransactionType::TRANSFER === ucfirst($transactionType) || TransactionType::WITHDRAWAL === ucfirst($transactionType)) { + if (TransactionType::TRANSFER === ucfirst($transactionType) || TransactionTypeEnum::WITHDRAWAL->value === ucfirst($transactionType)) { app('log')->debug(sprintf('Processing as a "%s"', $transactionType)); // use case: withdrawal from asset account to a liability account. // the foreign amount must be in the currency of the destination