From 201bc7db5358dc9bf653bacb70bb2c7c7fbea92c Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 7 Aug 2018 19:24:07 +0200 Subject: [PATCH] Update requests. --- app/Http/Requests/AccountFormRequest.php | 2 +- app/Http/Requests/BillFormRequest.php | 8 ++++++-- app/Http/Requests/BudgetFormRequest.php | 15 ++++++++------- app/Http/Requests/CategoryFormRequest.php | 13 +++++++------ app/Http/Requests/CurrencyFormRequest.php | 8 +++++++- app/Http/Requests/PiggyBankFormRequest.php | 11 ++++++++--- app/Http/Requests/RuleFormRequest.php | 11 ++++++----- app/Http/Requests/RuleGroupFormRequest.php | 12 +++++++----- app/Http/Requests/TagFormRequest.php | 15 ++++++++------- 9 files changed, 58 insertions(+), 37 deletions(-) diff --git a/app/Http/Requests/AccountFormRequest.php b/app/Http/Requests/AccountFormRequest.php index 5aa3b47519..6a9986b9e7 100644 --- a/app/Http/Requests/AccountFormRequest.php +++ b/app/Http/Requests/AccountFormRequest.php @@ -121,7 +121,7 @@ class AccountFormRequest extends Request if (null !== $account) { // add rules: $rules['id'] = 'belongsToUser:accounts'; - $rules['name'] = 'required|min:1|uniqueAccountForUser:' . (int)$this->get('id'); + $rules['name'] = 'required|min:1|uniqueAccountForUser:' . $account->id; $rules['iban'] = ['iban', 'nullable', new UniqueIban($account, $account->accountType->type)]; } diff --git a/app/Http/Requests/BillFormRequest.php b/app/Http/Requests/BillFormRequest.php index 59d7eaae1a..8780a4bc4f 100644 --- a/app/Http/Requests/BillFormRequest.php +++ b/app/Http/Requests/BillFormRequest.php @@ -22,6 +22,8 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use FireflyIII\Models\Bill; + /** * Class BillFormRequest. */ @@ -66,8 +68,10 @@ class BillFormRequest extends Request public function rules(): array { $nameRule = 'required|between:1,255|uniqueObjectForUser:bills,name'; - if ($this->integer('id') > 0) { - $nameRule .= ',' . $this->integer('id'); + /** @var Bill $bill */ + $bill = $this->route()->parameter('bill'); + if (null !== $bill) { + $nameRule = 'required|between:1,255|uniqueObjectForUser:bills,name,' . $bill->id; } // is OK $rules = [ diff --git a/app/Http/Requests/BudgetFormRequest.php b/app/Http/Requests/BudgetFormRequest.php index b087071a92..c803cdaaaa 100644 --- a/app/Http/Requests/BudgetFormRequest.php +++ b/app/Http/Requests/BudgetFormRequest.php @@ -22,7 +22,7 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; -use FireflyIII\Repositories\Budget\BudgetRepositoryInterface; +use FireflyIII\Models\Budget; /** * Class BudgetFormRequest. @@ -61,12 +61,13 @@ class BudgetFormRequest extends Request */ public function rules(): array { - // fixed - /** @var BudgetRepositoryInterface $repository */ - $repository = app(BudgetRepositoryInterface::class); - $nameRule = 'required|between:1,100|uniqueObjectForUser:budgets,name'; - if (null !== $repository->findNull((int)$this->get('id'))) { - $nameRule = 'required|between:1,100|uniqueObjectForUser:budgets,name,' . (int)$this->get('id'); + $nameRule = 'required|between:1,100|uniqueObjectForUser:budgets,name'; + + /** @var Budget $budget */ + $budget = $this->route()->parameter('budget'); + + if (null !== $budget) { + $nameRule = 'required|between:1,100|uniqueObjectForUser:budgets,name,' . $budget->id; } return [ diff --git a/app/Http/Requests/CategoryFormRequest.php b/app/Http/Requests/CategoryFormRequest.php index bb5bb973f6..1cef099368 100644 --- a/app/Http/Requests/CategoryFormRequest.php +++ b/app/Http/Requests/CategoryFormRequest.php @@ -22,7 +22,7 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; -use FireflyIII\Repositories\Category\CategoryRepositoryInterface; +use FireflyIII\Models\Category; /** * Class CategoryFormRequest. @@ -59,11 +59,12 @@ class CategoryFormRequest extends Request */ public function rules(): array { - /** @var CategoryRepositoryInterface $repository */ - $repository = app(CategoryRepositoryInterface::class); - $nameRule = 'required|between:1,100|uniqueObjectForUser:categories,name'; - if (null !== $repository->findNull($this->integer('id'))) { - $nameRule = 'required|between:1,100|uniqueObjectForUser:categories,name,' . $this->integer('id'); + $nameRule = 'required|between:1,100|uniqueObjectForUser:categories,name'; + /** @var Category $category */ + $category = $this->route()->parameter('category'); + + if (null !== $category) { + $nameRule = 'required|between:1,100|uniqueObjectForUser:categories,name,' . $category->id; } // fixed diff --git a/app/Http/Requests/CurrencyFormRequest.php b/app/Http/Requests/CurrencyFormRequest.php index 49ba96a5c5..82a4b1bc6b 100644 --- a/app/Http/Requests/CurrencyFormRequest.php +++ b/app/Http/Requests/CurrencyFormRequest.php @@ -22,6 +22,8 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use FireflyIII\Models\TransactionCurrency; + /** * Class CurrencyFormRequest. */ @@ -67,7 +69,11 @@ class CurrencyFormRequest extends Request 'symbol' => 'required|min:1|max:8|unique:transaction_currencies,symbol', 'decimal_places' => 'required|min:0|max:12|numeric', ]; - if ($this->integer('id') > 0) { + + /** @var TransactionCurrency $currency */ + $currency = $this->route()->parameter('currency'); + + if (null !== $currency) { $rules = [ 'name' => 'required|max:48|min:1', 'code' => 'required|min:3|max:3', diff --git a/app/Http/Requests/PiggyBankFormRequest.php b/app/Http/Requests/PiggyBankFormRequest.php index 6aa7ad5d9f..2fe6ef01db 100644 --- a/app/Http/Requests/PiggyBankFormRequest.php +++ b/app/Http/Requests/PiggyBankFormRequest.php @@ -21,6 +21,7 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use FireflyIII\Models\PiggyBank; /** * Class PiggyBankFormRequest. @@ -51,7 +52,7 @@ class PiggyBankFormRequest extends Request 'account_id' => $this->integer('account_id'), 'targetamount' => $this->string('targetamount'), 'targetdate' => $this->date('targetdate'), - 'note' => $this->string('note'), + 'notes' => $this->string('notes'), ]; } @@ -63,8 +64,12 @@ class PiggyBankFormRequest extends Request public function rules(): array { $nameRule = 'required|between:1,255|uniquePiggyBankForUser'; - if ($this->integer('id')) { - $nameRule = 'required|between:1,255|uniquePiggyBankForUser:' . $this->integer('id'); + + /** @var PiggyBank $piggy */ + $piggy = $this->route()->parameter('piggyBank'); + + if (null !== $piggy) { + $nameRule = 'required|between:1,255|uniquePiggyBankForUser:' . $piggy->id; } $rules = [ diff --git a/app/Http/Requests/RuleFormRequest.php b/app/Http/Requests/RuleFormRequest.php index b9bc3dcbdb..40df4da5d8 100644 --- a/app/Http/Requests/RuleFormRequest.php +++ b/app/Http/Requests/RuleFormRequest.php @@ -22,7 +22,7 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; -use FireflyIII\Repositories\Rule\RuleRepositoryInterface; +use FireflyIII\Models\Rule; /** * Class RuleFormRequest. @@ -72,8 +72,6 @@ class RuleFormRequest extends Request */ public function rules(): array { - /** @var RuleRepositoryInterface $repository */ - $repository = app(RuleRepositoryInterface::class); $validTriggers = array_keys(config('firefly.rule-triggers')); $validActions = array_keys(config('firefly.rule-actions')); @@ -81,8 +79,11 @@ class RuleFormRequest extends Request $contextActions = implode(',', config('firefly.rule-actions-text')); $titleRule = 'required|between:1,100|uniqueObjectForUser:rules,title'; - if (null !== $repository->find((int)$this->get('id'))) { - $titleRule = 'required|between:1,100|uniqueObjectForUser:rules,title,' . (int)$this->get('id'); + /** @var Rule $rule */ + $rule = $this->route()->parameter('rule'); + + if (null !== $rule) { + $titleRule = 'required|between:1,100|uniqueObjectForUser:rules,title,' . $rule->id; } $rules = [ 'title' => $titleRule, diff --git a/app/Http/Requests/RuleGroupFormRequest.php b/app/Http/Requests/RuleGroupFormRequest.php index e1c29c6ba4..2d7d2f180c 100644 --- a/app/Http/Requests/RuleGroupFormRequest.php +++ b/app/Http/Requests/RuleGroupFormRequest.php @@ -22,6 +22,7 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use FireflyIII\Models\RuleGroup; use FireflyIII\Repositories\RuleGroup\RuleGroupRepositoryInterface; /** @@ -60,12 +61,13 @@ class RuleGroupFormRequest extends Request */ public function rules(): array { - // fixed - /** @var RuleGroupRepositoryInterface $repository */ - $repository = app(RuleGroupRepositoryInterface::class); $titleRule = 'required|between:1,100|uniqueObjectForUser:rule_groups,title'; - if (null !== $repository->find((int)$this->get('id'))) { - $titleRule = 'required|between:1,100|uniqueObjectForUser:rule_groups,title,' . (int)$this->get('id'); + + /** @var RuleGroup $ruleGroup */ + $ruleGroup = $this->route()->parameter('ruleGroup'); + + if (null !== $ruleGroup) { + $titleRule = 'required|between:1,100|uniqueObjectForUser:rule_groups,title,' . $ruleGroup->id; } return [ diff --git a/app/Http/Requests/TagFormRequest.php b/app/Http/Requests/TagFormRequest.php index e2a86b5183..19adba7873 100644 --- a/app/Http/Requests/TagFormRequest.php +++ b/app/Http/Requests/TagFormRequest.php @@ -22,7 +22,7 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; -use FireflyIII\Repositories\Tag\TagRepositoryInterface; +use FireflyIII\Models\Tag; /** * Class TagFormRequest. @@ -76,13 +76,14 @@ class TagFormRequest extends Request */ public function rules(): array { - /** @var TagRepositoryInterface $repository */ - $repository = app(TagRepositoryInterface::class); - $idRule = ''; - $tagRule = 'required|min:1|uniqueObjectForUser:tags,tag'; - if (null !== $repository->findNull((int)$this->get('id'))) { + $idRule = ''; + + /** @var Tag $tag */ + $tag = $this->route()->parameter('tag'); + $tagRule = 'required|min:1|uniqueObjectForUser:tags,tag'; + if (null !== $tag) { $idRule = 'belongsToUser:tags'; - $tagRule = 'required|min:1|uniqueObjectForUser:tags,tag,' . $this->get('id'); + $tagRule = 'required|min:1|uniqueObjectForUser:tags,tag,' . $tag->id; } return [