Update requests.

This commit is contained in:
James Cole
2018-08-07 19:24:07 +02:00
parent cd2a251f22
commit 201bc7db53
9 changed files with 58 additions and 37 deletions

View File

@@ -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)];
}

View File

@@ -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 = [

View File

@@ -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 [

View File

@@ -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

View File

@@ -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',

View File

@@ -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 = [

View File

@@ -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,

View File

@@ -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 [

View File

@@ -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 [