mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-09-30 18:41:08 +00:00
Move Location validation rules to single method.
This commit is contained in:
@@ -24,6 +24,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace FireflyIII\Api\V1\Requests;
|
namespace FireflyIII\Api\V1\Requests;
|
||||||
|
|
||||||
|
use FireflyIII\Models\Location;
|
||||||
use FireflyIII\Rules\IsBoolean;
|
use FireflyIII\Rules\IsBoolean;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -77,10 +78,8 @@ class AccountStoreRequest extends Request
|
|||||||
'interest' => 'required_if:type,liability|between:0,100|numeric',
|
'interest' => 'required_if:type,liability|between:0,100|numeric',
|
||||||
'interest_period' => 'required_if:type,liability|in:daily,monthly,yearly',
|
'interest_period' => 'required_if:type,liability|in:daily,monthly,yearly',
|
||||||
'notes' => 'min:0|max:65536',
|
'notes' => 'min:0|max:65536',
|
||||||
'latitude' => 'numeric|min:-90|max:90|nullable|required_with:longitude',
|
|
||||||
'longitude' => 'numeric|min:-180|max:180|nullable|required_with:latitude',
|
|
||||||
'zoom_level' => 'numeric|min:0|max:80|nullable|required_with:latitude',
|
|
||||||
];
|
];
|
||||||
|
$rules = Location::requestRules($rules);
|
||||||
|
|
||||||
return $rules;
|
return $rules;
|
||||||
}
|
}
|
||||||
|
@@ -24,6 +24,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace FireflyIII\Api\V1\Requests;
|
namespace FireflyIII\Api\V1\Requests;
|
||||||
|
|
||||||
|
use FireflyIII\Models\Location;
|
||||||
use FireflyIII\Rules\IsBoolean;
|
use FireflyIII\Rules\IsBoolean;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -134,10 +135,8 @@ class AccountUpdateRequest extends Request
|
|||||||
'interest' => 'required_if:type,liability|between:0,100|numeric',
|
'interest' => 'required_if:type,liability|between:0,100|numeric',
|
||||||
'interest_period' => 'required_if:type,liability|in:daily,monthly,yearly',
|
'interest_period' => 'required_if:type,liability|in:daily,monthly,yearly',
|
||||||
'notes' => 'min:0|max:65536',
|
'notes' => 'min:0|max:65536',
|
||||||
'latitude' => 'numeric|min:-90|max:90|nullable|required_with:longitude',
|
|
||||||
'longitude' => 'numeric|min:-180|max:180|nullable|required_with:latitude',
|
|
||||||
'zoom_level' => 'numeric|min:0|max:80|nullable|required_with:latitude',
|
|
||||||
];
|
];
|
||||||
|
$rules = Location::requestRules($rules);
|
||||||
|
|
||||||
return $rules;
|
return $rules;
|
||||||
}
|
}
|
||||||
|
@@ -23,6 +23,8 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace FireflyIII\Api\V1\Requests;
|
namespace FireflyIII\Api\V1\Requests;
|
||||||
|
|
||||||
|
use FireflyIII\Models\Location;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class TagStoreRequest
|
* Class TagStoreRequest
|
||||||
*
|
*
|
||||||
@@ -73,13 +75,12 @@ class TagStoreRequest extends Request
|
|||||||
*/
|
*/
|
||||||
public function rules(): array
|
public function rules(): array
|
||||||
{
|
{
|
||||||
return [
|
$rules = [
|
||||||
'tag' => 'required|min:1|uniqueObjectForUser:tags,tag',
|
'tag' => 'required|min:1|uniqueObjectForUser:tags,tag',
|
||||||
'description' => 'min:1|nullable',
|
'description' => 'min:1|nullable',
|
||||||
'date' => 'date|nullable',
|
'date' => 'date|nullable',
|
||||||
'latitude' => 'numeric|min:-90|max:90|nullable|required_with:longitude',
|
|
||||||
'longitude' => 'numeric|min:-180|max:180|nullable|required_with:latitude',
|
|
||||||
'zoom_level' => 'numeric|min:0|max:80|nullable',
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
return Location::requestRules($rules);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -24,6 +24,8 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace FireflyIII\Api\V1\Requests;
|
namespace FireflyIII\Api\V1\Requests;
|
||||||
|
|
||||||
|
use FireflyIII\Models\Location;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class TagUpdateRequest
|
* Class TagUpdateRequest
|
||||||
*
|
*
|
||||||
@@ -76,13 +78,12 @@ class TagUpdateRequest extends Request
|
|||||||
{
|
{
|
||||||
$tag = $this->route()->parameter('tagOrId');
|
$tag = $this->route()->parameter('tagOrId');
|
||||||
|
|
||||||
return [
|
$rules = [
|
||||||
'tag' => 'required|min:1|uniqueObjectForUser:tags,tag,' . $tag->id,
|
'tag' => 'required|min:1|uniqueObjectForUser:tags,tag,' . $tag->id,
|
||||||
'description' => 'min:1|nullable',
|
'description' => 'min:1|nullable',
|
||||||
'date' => 'date|nullable',
|
'date' => 'date|nullable',
|
||||||
'latitude' => 'numeric|min:-90|max:90|nullable|required_with:longitude',
|
|
||||||
'longitude' => 'numeric|min:-180|max:180|nullable|required_with:latitude',
|
|
||||||
'zoom_level' => 'numeric|min:0|max:80|nullable',
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
return Location::requestRules($rules);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -23,6 +23,7 @@ declare(strict_types=1);
|
|||||||
namespace FireflyIII\Http\Requests;
|
namespace FireflyIII\Http\Requests;
|
||||||
|
|
||||||
use FireflyIII\Models\Account;
|
use FireflyIII\Models\Account;
|
||||||
|
use FireflyIII\Models\Location;
|
||||||
use FireflyIII\Rules\UniqueIban;
|
use FireflyIII\Rules\UniqueIban;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -114,10 +115,8 @@ class AccountFormRequest extends Request
|
|||||||
'amount_currency_id_virtual_balance' => 'exists:transaction_currencies,id',
|
'amount_currency_id_virtual_balance' => 'exists:transaction_currencies,id',
|
||||||
'what' => 'in:' . $types,
|
'what' => 'in:' . $types,
|
||||||
'interest_period' => 'in:daily,monthly,yearly',
|
'interest_period' => 'in:daily,monthly,yearly',
|
||||||
'latitude' => 'numeric|min:-90|max:90|nullable|required_with:longitude',
|
|
||||||
'longitude' => 'numeric|min:-180|max:180|nullable|required_with:latitude',
|
|
||||||
'zoom_level' => 'numeric|min:0|max:80|nullable',
|
|
||||||
];
|
];
|
||||||
|
$rules = Location::requestRules($rules);
|
||||||
|
|
||||||
if ('liabilities' === $this->get('objectType')) {
|
if ('liabilities' === $this->get('objectType')) {
|
||||||
$rules['opening_balance'] = ['numeric', 'required','max:1000000000'];
|
$rules['opening_balance'] = ['numeric', 'required','max:1000000000'];
|
||||||
|
@@ -22,6 +22,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace FireflyIII\Http\Requests;
|
namespace FireflyIII\Http\Requests;
|
||||||
|
|
||||||
|
use FireflyIII\Models\Location;
|
||||||
use FireflyIII\Models\Tag;
|
use FireflyIII\Models\Tag;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -86,14 +87,12 @@ class TagFormRequest extends Request
|
|||||||
$tagRule = 'required|min:1|uniqueObjectForUser:tags,tag,' . $tag->id;
|
$tagRule = 'required|min:1|uniqueObjectForUser:tags,tag,' . $tag->id;
|
||||||
}
|
}
|
||||||
|
|
||||||
return [
|
$rules= [
|
||||||
'tag' => $tagRule,
|
'tag' => $tagRule,
|
||||||
'id' => $idRule,
|
'id' => $idRule,
|
||||||
'description' => 'min:1|nullable',
|
'description' => 'min:1|nullable',
|
||||||
'date' => 'date|nullable',
|
'date' => 'date|nullable',
|
||||||
'latitude' => 'numeric|min:-90|max:90|nullable',
|
|
||||||
'longitude' => 'numeric|min:-180|max:180|nullable',
|
|
||||||
'zoom_level' => 'numeric|min:0|max:80|nullable',
|
|
||||||
];
|
];
|
||||||
|
return Location::requestRules($rules);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -70,4 +70,20 @@ class Location extends Model
|
|||||||
return $this->morphTo();
|
return $this->morphTo();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add rules for locations.
|
||||||
|
*
|
||||||
|
* @param array $rules
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public static function requestRules(array $rules): array
|
||||||
|
{
|
||||||
|
$rules['latitude'] = 'numeric|min:-90|max:90|nullable|required_with:longitude';
|
||||||
|
$rules['longitude'] = 'numeric|min:-180|max:180|nullable|required_with:latitude';
|
||||||
|
$rules['zoom_level'] = 'numeric|min:0|max:80|nullable|required_with:latitude';
|
||||||
|
|
||||||
|
return $rules;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user