From ae4612f1340d55811170a2dcf8829a53bce3f70c Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 9 Dec 2018 20:54:11 +0100 Subject: [PATCH] Fix test coverage. --- app/Api/V1/Controllers/AccountController.php | 4 +- app/Api/V1/Controllers/BillController.php | 3 +- app/Api/V1/Controllers/BudgetController.php | 4 +- .../V1/Controllers/BudgetLimitController.php | 4 +- app/Api/V1/Controllers/CategoryController.php | 4 +- app/Api/V1/Controllers/CurrencyController.php | 3 +- app/Api/V1/Controllers/ImportController.php | 3 +- app/Api/V1/Controllers/LinkTypeController.php | 4 +- .../V1/Controllers/RecurrenceController.php | 4 +- app/Api/V1/Controllers/RuleController.php | 4 +- .../V1/Controllers/RuleGroupController.php | 5 +- app/Api/V1/Controllers/TagController.php | 4 +- .../V1/Controllers/TransactionController.php | 8 +- app/Api/V1/Requests/CurrencyRequest.php | 2 +- app/Api/V1/Requests/RuleRequest.php | 4 +- app/Http/Controllers/Rule/EditController.php | 8 +- .../Controllers/Rule/SelectController.php | 8 +- .../Transaction/MassController.php | 2 +- .../Controllers/TransactionController.php | 2 +- app/Http/Requests/RuleFormRequest.php | 28 +++--- app/Http/Requests/TestRuleFormRequest.php | 1 + .../Http/Controllers/RequestInformation.php | 5 +- .../Http/Controllers/RuleManagement.php | 10 +- app/Transformers/AccountTransformer.php | 2 +- app/Transformers/TransactionTransformer.php | 4 +- app/Validation/FireflyValidator.php | 2 +- public/v1/js/ff/rules/create-edit.js | 8 +- resources/views/v1/rules/partials/action.twig | 10 +- .../views/v1/rules/partials/trigger.twig | 17 +--- .../V1/Controllers/AccountControllerTest.php | 5 +- .../Controllers/BudgetLimitControllerTest.php | 74 +++++++-------- .../ConfigurationControllerTest.php | 15 +-- .../V1/Controllers/CurrencyControllerTest.php | 8 +- .../Controllers/PreferencesControllerTest.php | 18 +--- .../Api/V1/Controllers/RuleControllerTest.php | 16 ++-- .../Controllers/TransactionControllerTest.php | 95 ++++++++++++++++++- ....php => TransactionLinkControllerTest.php} | 54 +++++------ .../Controllers/Rule/SelectControllerTest.php | 18 ++-- .../Transaction/MassControllerTest.php | 12 +++ .../Transaction/SingleControllerTest.php | 4 + .../Transaction/SplitControllerTest.php | 33 ++++--- .../Controllers/TransactionControllerTest.php | 3 +- tests/Unit/Factory/TransactionFactoryTest.php | 8 +- .../Transformers/AccountTransformerTest.php | 4 +- .../Unit/Transformers/TagTransformerTest.php | 1 - .../TransactionTransformerTest.php | 77 +++++++++++++++ 46 files changed, 383 insertions(+), 229 deletions(-) rename tests/Api/V1/Controllers/{JournalLinkControllerTest.php => TransactionLinkControllerTest.php} (91%) diff --git a/app/Api/V1/Controllers/AccountController.php b/app/Api/V1/Controllers/AccountController.php index f82f2881aa..73301d199a 100644 --- a/app/Api/V1/Controllers/AccountController.php +++ b/app/Api/V1/Controllers/AccountController.php @@ -256,9 +256,7 @@ class AccountController extends Controller $paginator = $collector->getPaginatedTransactions(); $paginator->setPath(route('api.v1.accounts.transactions', [$account->id]) . $this->buildParams()); $transactions = $paginator->getCollection(); - $repository = app(JournalRepositoryInterface::class); - - $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters, $repository), 'transactions'); + $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters), 'transactions'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); diff --git a/app/Api/V1/Controllers/BillController.php b/app/Api/V1/Controllers/BillController.php index cda5100045..a7ffec5b0f 100644 --- a/app/Api/V1/Controllers/BillController.php +++ b/app/Api/V1/Controllers/BillController.php @@ -260,8 +260,7 @@ class BillController extends Controller $paginator = $collector->getPaginatedTransactions(); $paginator->setPath(route('api.v1.bills.transactions', [$bill->id]) . $this->buildParams()); $transactions = $paginator->getCollection(); - $repository = app(JournalRepositoryInterface::class); - $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters, $repository), 'transactions'); + $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters), 'transactions'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); diff --git a/app/Api/V1/Controllers/BudgetController.php b/app/Api/V1/Controllers/BudgetController.php index b8ee458896..bd45020a7e 100644 --- a/app/Api/V1/Controllers/BudgetController.php +++ b/app/Api/V1/Controllers/BudgetController.php @@ -256,9 +256,7 @@ class BudgetController extends Controller $paginator = $collector->getPaginatedTransactions(); $paginator->setPath(route('api.v1.budgets.transactions', [$budget->id]) . $this->buildParams()); $transactions = $paginator->getCollection(); - $repository = app(JournalRepositoryInterface::class); - - $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters, $repository), 'transactions'); + $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters), 'transactions'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); diff --git a/app/Api/V1/Controllers/BudgetLimitController.php b/app/Api/V1/Controllers/BudgetLimitController.php index 42383442d6..e227c77200 100644 --- a/app/Api/V1/Controllers/BudgetLimitController.php +++ b/app/Api/V1/Controllers/BudgetLimitController.php @@ -208,9 +208,7 @@ class BudgetLimitController extends Controller $paginator = $collector->getPaginatedTransactions(); $paginator->setPath(route('api.v1.budget_limits.transactions', [$budgetLimit->id]) . $this->buildParams()); $transactions = $paginator->getCollection(); - $repository = app(JournalRepositoryInterface::class); - - $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters, $repository), 'transactions'); + $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters), 'transactions'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); diff --git a/app/Api/V1/Controllers/CategoryController.php b/app/Api/V1/Controllers/CategoryController.php index cb631a6957..c8fb61a2b3 100644 --- a/app/Api/V1/Controllers/CategoryController.php +++ b/app/Api/V1/Controllers/CategoryController.php @@ -206,9 +206,7 @@ class CategoryController extends Controller $paginator = $collector->getPaginatedTransactions(); $paginator->setPath(route('api.v1.categories.transactions', [$category->id]) . $this->buildParams()); $transactions = $paginator->getCollection(); - $repository = app(JournalRepositoryInterface::class); - - $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters, $repository), 'transactions'); + $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters), 'transactions'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); diff --git a/app/Api/V1/Controllers/CurrencyController.php b/app/Api/V1/Controllers/CurrencyController.php index e721820a2c..8bb3e7de58 100644 --- a/app/Api/V1/Controllers/CurrencyController.php +++ b/app/Api/V1/Controllers/CurrencyController.php @@ -195,8 +195,7 @@ class CurrencyController extends Controller $paginator->setPath(route('api.v1.currencies.transactions', [$currency->code]) . $this->buildParams()); $transactions = $paginator->getCollection(); - $journalRepository = app(JournalRepositoryInterface::class); - $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters, $journalRepository), 'transactions'); + $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters), 'transactions'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); diff --git a/app/Api/V1/Controllers/ImportController.php b/app/Api/V1/Controllers/ImportController.php index 4f48bdcc59..aa2c4423f2 100644 --- a/app/Api/V1/Controllers/ImportController.php +++ b/app/Api/V1/Controllers/ImportController.php @@ -163,8 +163,7 @@ class ImportController extends Controller } - $repository = app(JournalRepositoryInterface::class); - $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters, $repository), 'transactions'); + $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters), 'transactions'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); diff --git a/app/Api/V1/Controllers/LinkTypeController.php b/app/Api/V1/Controllers/LinkTypeController.php index 0255221416..0bd9e09a16 100644 --- a/app/Api/V1/Controllers/LinkTypeController.php +++ b/app/Api/V1/Controllers/LinkTypeController.php @@ -218,9 +218,7 @@ class LinkTypeController extends Controller $paginator = $collector->getPaginatedTransactions(); $paginator->setPath(route('api.v1.transactions.index') . $this->buildParams()); $transactions = $paginator->getCollection(); - $repository = app(JournalRepositoryInterface::class); - - $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters, $repository), 'transactions'); + $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters), 'transactions'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); diff --git a/app/Api/V1/Controllers/RecurrenceController.php b/app/Api/V1/Controllers/RecurrenceController.php index b4e4b15dbf..8a4184d187 100644 --- a/app/Api/V1/Controllers/RecurrenceController.php +++ b/app/Api/V1/Controllers/RecurrenceController.php @@ -205,9 +205,7 @@ class RecurrenceController extends Controller $paginator = $collector->getPaginatedTransactions(); $paginator->setPath(route('api.v1.transactions.index') . $this->buildParams()); $transactions = $paginator->getCollection(); - $repository = app(JournalRepositoryInterface::class); - - $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters, $repository), 'transactions'); + $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters), 'transactions'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); diff --git a/app/Api/V1/Controllers/RuleController.php b/app/Api/V1/Controllers/RuleController.php index 445b44133f..f15ed0de92 100644 --- a/app/Api/V1/Controllers/RuleController.php +++ b/app/Api/V1/Controllers/RuleController.php @@ -222,9 +222,7 @@ class RuleController extends Controller $manager = new Manager(); $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $repository = app(JournalRepositoryInterface::class); - - $resource = new FractalCollection($matchingTransactions, new TransactionTransformer($this->parameters, $repository), 'transactions'); + $resource = new FractalCollection($matchingTransactions, new TransactionTransformer($this->parameters), 'transactions'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); diff --git a/app/Api/V1/Controllers/RuleGroupController.php b/app/Api/V1/Controllers/RuleGroupController.php index 6552e97b90..6000a29cd6 100644 --- a/app/Api/V1/Controllers/RuleGroupController.php +++ b/app/Api/V1/Controllers/RuleGroupController.php @@ -269,10 +269,7 @@ class RuleGroupController extends Controller $manager = new Manager(); $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $repository = app(JournalRepositoryInterface::class); - - - $resource = new FractalCollection($matchingTransactions, new TransactionTransformer($this->parameters, $repository), 'transactions'); + $resource = new FractalCollection($matchingTransactions, new TransactionTransformer($this->parameters), 'transactions'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); diff --git a/app/Api/V1/Controllers/TagController.php b/app/Api/V1/Controllers/TagController.php index 9d7f7828f2..268a4316ab 100644 --- a/app/Api/V1/Controllers/TagController.php +++ b/app/Api/V1/Controllers/TagController.php @@ -182,9 +182,7 @@ class TagController extends Controller $paginator->setPath(route('api.v1.transactions.index') . $this->buildParams()); $transactions = $paginator->getCollection(); - $repository = app(JournalRepositoryInterface::class); - - $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters, $repository), 'transactions'); + $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters), 'transactions'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); diff --git a/app/Api/V1/Controllers/TransactionController.php b/app/Api/V1/Controllers/TransactionController.php index 0fdd10a8e9..4fca237302 100644 --- a/app/Api/V1/Controllers/TransactionController.php +++ b/app/Api/V1/Controllers/TransactionController.php @@ -171,7 +171,7 @@ class TransactionController extends Controller $paginator->setPath(route('api.v1.transactions.index') . $this->buildParams()); $transactions = $paginator->getCollection(); - $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters, $this->repository), 'transactions'); + $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters), 'transactions'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -208,7 +208,7 @@ class TransactionController extends Controller } $transactions = $collector->getTransactions(); - $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters, $this->repository), 'transactions'); + $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters), 'transactions'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); } @@ -252,7 +252,7 @@ class TransactionController extends Controller } $transactions = $collector->getTransactions(); - $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters, $this->repository), 'transactions'); + $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters), 'transactions'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); } @@ -296,7 +296,7 @@ class TransactionController extends Controller } $transactions = $collector->getTransactions(); - $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters, $this->repository), 'transactions'); + $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters), 'transactions'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); diff --git a/app/Api/V1/Requests/CurrencyRequest.php b/app/Api/V1/Requests/CurrencyRequest.php index 09e51f8935..c145a78142 100644 --- a/app/Api/V1/Requests/CurrencyRequest.php +++ b/app/Api/V1/Requests/CurrencyRequest.php @@ -90,7 +90,7 @@ class CurrencyRequest extends Request break; case 'PUT': case 'PATCH': - $currency = $this->route()->parameter('currency'); + $currency = $this->route()->parameter('currency_code'); $rules['name'] = 'required|between:1,255|unique:transaction_currencies,name,' . $currency->id; $rules['code'] = 'required|between:1,255|unique:transaction_currencies,code,' . $currency->id; $rules['symbol'] = 'required|between:1,255|unique:transaction_currencies,symbol,' . $currency->id; diff --git a/app/Api/V1/Requests/RuleRequest.php b/app/Api/V1/Requests/RuleRequest.php index 84430f7397..7eee6982b1 100644 --- a/app/Api/V1/Requests/RuleRequest.php +++ b/app/Api/V1/Requests/RuleRequest.php @@ -102,9 +102,9 @@ class RuleRequest extends Request 'trigger' => 'required|in:store-journal,update-journal', 'triggers.*.name' => 'required|in:' . implode(',', $validTriggers), 'triggers.*.stop_processing' => [new IsBoolean], - 'triggers.*.value' => 'required_if:rule_actions.*.type,' . $contextTriggers . '|min:1|ruleTriggerValue', + 'triggers.*.value' => 'required_if:actions.*.type,' . $contextTriggers . '|min:1|ruleTriggerValue', 'actions.*.name' => 'required|in:' . implode(',', $validActions), - 'actions.*.value' => 'required_if:rule_actions.*.type,' . $contextActions . '|ruleActionValue', + 'actions.*.value' => 'required_if:actions.*.type,' . $contextActions . '|ruleActionValue', 'actions.*.stop_processing' => [new IsBoolean], 'strict' => [new IsBoolean], 'stop_processing' => [new IsBoolean], diff --git a/app/Http/Controllers/Rule/EditController.php b/app/Http/Controllers/Rule/EditController.php index c4c4623e68..b4f000bb9d 100644 --- a/app/Http/Controllers/Rule/EditController.php +++ b/app/Http/Controllers/Rule/EditController.php @@ -158,9 +158,9 @@ class EditController extends Controller { $index = 0; $actions = []; - + $currentActions = $rule->ruleActions()->orderBy('order','ASC')->get(); /** @var RuleAction $entry */ - foreach ($rule->ruleActions as $entry) { + foreach ($currentActions as $entry) { $count = ($index + 1); try { $actions[] = view( @@ -196,9 +196,9 @@ class EditController extends Controller { $index = 0; $triggers = []; - + $currentTriggers = $rule->ruleTriggers()->orderBy('order','ASC')->get(); /** @var RuleTrigger $entry */ - foreach ($rule->ruleTriggers as $entry) { + foreach ($currentTriggers as $entry) { if ('user_action' !== $entry->trigger_type) { $count = ($index + 1); try { diff --git a/app/Http/Controllers/Rule/SelectController.php b/app/Http/Controllers/Rule/SelectController.php index a9471ea3cf..1f3d54ec14 100644 --- a/app/Http/Controllers/Rule/SelectController.php +++ b/app/Http/Controllers/Rule/SelectController.php @@ -155,8 +155,8 @@ class SelectController extends Controller $strict = '1' === $request->get('strict'); /** @var TransactionMatcher $matcher */ $matcher = app(TransactionMatcher::class); - $matcher->setLimit($limit); - $matcher->setRange($range); + $matcher->setSearchLimit($range); + $matcher->setTriggeredLimit($limit); $matcher->setTriggers($triggers); $matcher->setStrict($strict); try { @@ -222,8 +222,8 @@ class SelectController extends Controller /** @var TransactionMatcher $matcher */ $matcher = app(TransactionMatcher::class); - $matcher->setLimit($limit); - $matcher->setRange($range); + $matcher->setTriggeredLimit($limit); + $matcher->setSearchLimit($range); $matcher->setRule($rule); try { $matchingTransactions = $matcher->findTransactionsByRule(); diff --git a/app/Http/Controllers/Transaction/MassController.php b/app/Http/Controllers/Transaction/MassController.php index 8f3274ee18..f70652c4f8 100644 --- a/app/Http/Controllers/Transaction/MassController.php +++ b/app/Http/Controllers/Transaction/MassController.php @@ -142,7 +142,7 @@ class MassController extends Controller $this->rememberPreviousUri('transactions.mass-edit.uri'); - $transformer = new TransactionTransformer(new ParameterBag, $this->repository); + $transformer = new TransactionTransformer(new ParameterBag); /** @var TransactionCollectorInterface $collector */ $collector = app(TransactionCollectorInterface::class); $collector->setUser($user); diff --git a/app/Http/Controllers/TransactionController.php b/app/Http/Controllers/TransactionController.php index 0a96f29113..2cabef11f7 100644 --- a/app/Http/Controllers/TransactionController.php +++ b/app/Http/Controllers/TransactionController.php @@ -253,7 +253,7 @@ class TransactionController extends Controller $collector->setJournals(new Collection([$journal])); $set = $collector->getTransactions(); $transactions = []; - $transformer = new TransactionTransformer(new ParameterBag, $this->repository); + $transformer = new TransactionTransformer(new ParameterBag); /** @var Transaction $transaction */ foreach ($set as $transaction) { $transactions[] = $transformer->transform($transaction); diff --git a/app/Http/Requests/RuleFormRequest.php b/app/Http/Requests/RuleFormRequest.php index acca6dba81..d6d01409c0 100644 --- a/app/Http/Requests/RuleFormRequest.php +++ b/app/Http/Requests/RuleFormRequest.php @@ -58,8 +58,8 @@ class RuleFormRequest extends Request 'description' => $this->string('description'), 'stop_processing' => $this->boolean('stop_processing'), 'strict' => $this->boolean('strict'), - 'rule_triggers' => $this->getRuleTriggerData(), - 'rule_actions' => $this->getRuleActionData(), + 'triggers' => $this->getRuleTriggerData(), + 'actions' => $this->getRuleActionData(), ]; return $data; @@ -83,16 +83,16 @@ class RuleFormRequest extends Request // initial set of rules: $rules = [ - 'title' => 'required|between:1,100|uniqueObjectForUser:rules,title', - 'description' => 'between:1,5000|nullable', - 'stop_processing' => 'boolean', - 'rule_group_id' => 'required|belongsToUser:rule_groups', - 'trigger' => 'required|in:store-journal,update-journal', - 'rule_triggers.*.name' => 'required|in:' . implode(',', $validTriggers), - 'rule_triggers.*.value' => sprintf('required_if:rule_triggers.*.name,%s|min:1|ruleTriggerValue', $contextTriggers), - 'rule-actions.*.name' => 'required|in:' . implode(',', $validActions), - 'rule_actions.*.value' => sprintf('required_if:rule_actions.*.name,%s|min:1|ruleActionValue', $contextActions), - 'strict' => 'in:0,1', + 'title' => 'required|between:1,100|uniqueObjectForUser:rules,title', + 'description' => 'between:1,5000|nullable', + 'stop_processing' => 'boolean', + 'rule_group_id' => 'required|belongsToUser:rule_groups', + 'trigger' => 'required|in:store-journal,update-journal', + 'triggers.*.name' => 'required|in:' . implode(',', $validTriggers), + 'triggers.*.value' => sprintf('required_if:triggers.*.name,%s|min:1|ruleTriggerValue', $contextTriggers), + 'actions.*.name' => 'required|in:' . implode(',', $validActions), + 'actions.*.value' => sprintf('required_if:actions.*.name,%s|min:1|ruleActionValue', $contextActions), + 'strict' => 'in:0,1', ]; /** @var Rule $rule */ @@ -111,7 +111,7 @@ class RuleFormRequest extends Request private function getRuleActionData(): array { $return = []; - $actionData = $this->get('rule_actions'); + $actionData = $this->get('actions'); if (\is_array($actionData)) { foreach ($actionData as $action) { $stopProcessing = $action['stop_processing'] ?? '0'; @@ -132,7 +132,7 @@ class RuleFormRequest extends Request private function getRuleTriggerData(): array { $return = []; - $triggerData = $this->get('rule_triggers'); + $triggerData = $this->get('triggers'); if (\is_array($triggerData)) { foreach ($triggerData as $trigger) { $stopProcessing = $trigger['stop_processing'] ?? '0'; diff --git a/app/Http/Requests/TestRuleFormRequest.php b/app/Http/Requests/TestRuleFormRequest.php index 41f2614d60..61e0d7f34d 100644 --- a/app/Http/Requests/TestRuleFormRequest.php +++ b/app/Http/Requests/TestRuleFormRequest.php @@ -42,6 +42,7 @@ class TestRuleFormRequest extends Request /** * Rules for this request. + * TODO these rules are not valid anymore. * * @return array */ diff --git a/app/Support/Http/Controllers/RequestInformation.php b/app/Support/Http/Controllers/RequestInformation.php index 900fbad168..d44fcd1630 100644 --- a/app/Support/Http/Controllers/RequestInformation.php +++ b/app/Support/Http/Controllers/RequestInformation.php @@ -222,7 +222,6 @@ trait RequestInformation */ protected function getTransactionDataFromJournal(TransactionJournal $journal): array // convert object { - $repository = app(JournalRepositoryInterface::class); // use collector to collect transactions. $collector = app(TransactionCollectorInterface::class); $collector->setUser(auth()->user()); @@ -231,7 +230,7 @@ trait RequestInformation $collector->setJournals(new Collection([$journal])); $set = $collector->getTransactions(); $transactions = []; - $transformer = new TransactionTransformer(new ParameterBag, $repository); + $transformer = new TransactionTransformer(new ParameterBag); /** @var Transaction $transaction */ foreach ($set as $transaction) { $res = []; @@ -262,7 +261,7 @@ trait RequestInformation protected function getValidTriggerList(TestRuleFormRequest $request): array // process input { $triggers = []; - $data = $request->get('rule_triggers'); + $data = $request->get('triggers'); if (\is_array($data)) { foreach ($data as $index => $triggerInfo) { $triggers[] = [ diff --git a/app/Support/Http/Controllers/RuleManagement.php b/app/Support/Http/Controllers/RuleManagement.php index ee55a39d7d..66d832dd46 100644 --- a/app/Support/Http/Controllers/RuleManagement.php +++ b/app/Support/Http/Controllers/RuleManagement.php @@ -51,7 +51,8 @@ trait RuleManagement 'description' => (string)trans('firefly.default_rule_description'), 'trigger' => 'store-journal', 'strict' => true, - 'rule_triggers' => [ + 'active' => true, + 'triggers' => [ [ 'name' => 'description_is', 'value' => (string)trans('firefly.default_rule_trigger_description'), @@ -66,7 +67,7 @@ trait RuleManagement ], ], - 'rule_actions' => [ + 'actions' => [ [ 'name' => 'prepend_description', 'value' => (string)trans('firefly.default_rule_action_prepend'), @@ -94,7 +95,7 @@ trait RuleManagement { $index = 0; $triggers = []; - $oldInput = $request->old('rule_actions'); + $oldInput = $request->old('actions'); if (\is_array($oldInput)) { foreach ($oldInput as $oldAction) { try { @@ -127,7 +128,7 @@ trait RuleManagement { $index = 0; $triggers = []; - $oldInput = $request->old('rule_triggers'); + $oldInput = $request->old('triggers'); if (\is_array($oldInput)) { foreach ($oldInput as $oldTrigger) { try { @@ -162,6 +163,7 @@ trait RuleManagement $data = [ 'title' => (string)trans('firefly.default_rule_group_name'), 'description' => (string)trans('firefly.default_rule_group_description'), + 'active' => true, ]; $repository->store($data); diff --git a/app/Transformers/AccountTransformer.php b/app/Transformers/AccountTransformer.php index 48fc2eccd1..e9a411cac9 100644 --- a/app/Transformers/AccountTransformer.php +++ b/app/Transformers/AccountTransformer.php @@ -120,8 +120,8 @@ class AccountTransformer extends TransformerAbstract 'id' => (int)$account->id, 'updated_at' => $account->updated_at->toAtomString(), 'created_at' => $account->created_at->toAtomString(), - 'name' => $account->name, 'active' => 1 === (int)$account->active, + 'name' => $account->name, 'type' => $type, 'account_role' => $role, 'currency_id' => $currencyId, diff --git a/app/Transformers/TransactionTransformer.php b/app/Transformers/TransactionTransformer.php index 24e8148457..ff28be211e 100644 --- a/app/Transformers/TransactionTransformer.php +++ b/app/Transformers/TransactionTransformer.php @@ -51,10 +51,10 @@ class TransactionTransformer extends TransformerAbstract * @param ParameterBag $parameters * @param JournalRepositoryInterface $repository */ - public function __construct(ParameterBag $parameters, JournalRepositoryInterface $repository) + public function __construct(ParameterBag $parameters) { $this->parameters = $parameters; - $this->repository = $repository; + $this->repository = app(JournalRepositoryInterface::class); } /** diff --git a/app/Validation/FireflyValidator.php b/app/Validation/FireflyValidator.php index 9841ba6d4f..902987585b 100644 --- a/app/Validation/FireflyValidator.php +++ b/app/Validation/FireflyValidator.php @@ -306,7 +306,7 @@ class FireflyValidator extends Validator } /** - * $attribute has the format rule_triggers.%d.value. + * $attribute has the format triggers.%d.value. * * @param string $attribute * @param string $value diff --git a/public/v1/js/ff/rules/create-edit.js b/public/v1/js/ff/rules/create-edit.js index 420a04aace..e3cc1308ad 100644 --- a/public/v1/js/ff/rules/create-edit.js +++ b/public/v1/js/ff/rules/create-edit.js @@ -162,7 +162,7 @@ function onAddNewAction() { "use strict"; console.log('Now in onAddNewAction()'); - var selectQuery = 'select[name^="rule_actions["][name$="][name]"]'; + var selectQuery = 'select[name^="actions["][name$="][name]"]'; var selectResult = $(selectQuery); console.log('Select query is "' + selectQuery + '" and the result length is ' + selectResult.length); @@ -190,7 +190,7 @@ function onAddNewTrigger() { "use strict"; console.log('Now in onAddNewTrigger()'); - var selectQuery = 'select[name^="rule_triggers["][name$="][name]"]'; + var selectQuery = 'select[name^="triggers["][name$="][name]"]'; var selectResult = $(selectQuery); console.log('Select query is "' + selectQuery + '" and the result length is ' + selectResult.length); @@ -219,7 +219,7 @@ function updateActionInput(selectList) { // the actual row this select list is in: var parent = selectList.parent().parent(); // the text input we're looking for: - var inputQuery = 'input[name^="rule_actions["][name$="][value]"]'; + var inputQuery = 'input[name^="actions["][name$="][value]"]'; var inputResult = parent.find(inputQuery); console.log('Searching for children in this row with query "' + inputQuery + '" resulted in ' + inputResult.length + ' results.'); @@ -291,7 +291,7 @@ function updateTriggerInput(selectList) { // the actual row this select list is in: var parent = selectList.parent().parent(); // the text input we're looking for: - var inputQuery = 'input[name^="rule_triggers["][name$="][value]"]'; + var inputQuery = 'input[name^="triggers["][name$="][value]"]'; var inputResult = parent.find(inputQuery); console.log('Searching for children in this row with query "' + inputQuery + '" resulted in ' + inputResult.length + ' results.'); diff --git a/resources/views/v1/rules/partials/action.twig b/resources/views/v1/rules/partials/action.twig index fda2bc6863..78864f7c8c 100644 --- a/resources/views/v1/rules/partials/action.twig +++ b/resources/views/v1/rules/partials/action.twig @@ -4,7 +4,7 @@ {# todo error when invalid name. #} - {% for key,name in allRuleActions() %} {% endfor %} @@ -12,18 +12,18 @@ - - {% if errors.has('rule_actions.'~count~'.value') %} + {% if errors.has('actions.'~count~'.value') %}

- {{ errors.first('rule_actions.'~count~'.value') }} + {{ errors.first('actions.'~count~'.value') }}

{% endif %}
diff --git a/resources/views/v1/rules/partials/trigger.twig b/resources/views/v1/rules/partials/trigger.twig index c5aade93c8..ce86d398ef 100644 --- a/resources/views/v1/rules/partials/trigger.twig +++ b/resources/views/v1/rules/partials/trigger.twig @@ -3,14 +3,7 @@ - {# - {% if errors.has('rule-trigger.'~count) %} - -

{{ errors.first('rule-trigger.'~count) }}

- {% endif %} - #} - - {% for key,name in allRuleTriggers() %}