Prevent duplicate tax names

This commit is contained in:
David Bomba 2023-09-21 13:53:56 +10:00
parent 334d72f2a7
commit 56bfdcc32f
2 changed files with 21 additions and 7 deletions

View File

@ -22,14 +22,20 @@ class StoreTaxRateRequest extends Request
*/ */
public function authorize() : bool public function authorize() : bool
{ {
return auth()->user()->isAdmin(); /** @var \App\Models\User $user */
$user = auth()->user();
return $user->isAdmin();
} }
public function rules() public function rules()
{ {
/** @var \App\Models\User $user */
$user = auth()->user();
return [ return [
//'name' => 'required', 'name' => 'required|unique:tax_rates,name,null,null,company_id,'.$user->companyId().',deleted_at,NULL',
'name' => 'required|unique:tax_rates,name,null,null,company_id,'.auth()->user()->companyId().',deleted_at,NULL',
'rate' => 'required|numeric', 'rate' => 'required|numeric',
]; ];
} }

View File

@ -23,17 +23,25 @@ class UpdateTaxRateRequest extends Request
*/ */
public function authorize() : bool public function authorize() : bool
{ {
return auth()->user()->isAdmin(); /** @var \App\Models\User $user */
$user = auth()->user();
return $user->isAdmin();
} }
public function rules() public function rules()
{ {
/** @var \App\Models\User $user */
$user = auth()->user();
$rules = []; $rules = [];
$rules['rate'] = 'numeric'; $rules['rate'] = 'required|numeric';
if ($this->number) { if ($this->name) {
$rules['number'] = Rule::unique('tax_rates')->where('company_id', auth()->user()->company()->id)->ignore($this->tax_rate->id); $rules['name'] = Rule::unique('tax_rates')->where('company_id', auth()->user()->company()->id)->ignore($this->tax_rate->id);
} }
return $rules; return $rules;