clean up requests

This commit is contained in:
David Bomba 2023-12-05 08:57:43 +11:00
parent 5185cb820f
commit b735119cdf
5 changed files with 28 additions and 18 deletions

View File

@ -60,9 +60,9 @@ class UpdateCreditRequest extends Request
$rules['file'] = $this->file_validation;
}
if ($this->number) {
$rules['number'] = Rule::unique('credits')->where('company_id', $user->company()->id)->ignore($this->credit->id);
}
$rules['number'] = ['bail', 'sometimes', Rule::unique('credits')->where('company_id', $user->company()->id)->ignore($this->credit->id)];
$rules['client_id'] = ['bail', 'sometimes',Rule::in([$this->credit->client_id])];
$rules['line_items'] = 'array';
$rules['discount'] = 'sometimes|numeric';

View File

@ -59,12 +59,11 @@ class UpdateInvoiceRequest extends Request
$rules['id'] = new LockedInvoiceRule($this->invoice);
if ($this->number) {
$rules['number'] = Rule::unique('invoices')->where('company_id', $user->company()->id)->ignore($this->invoice->id);
}
$rules['number'] = ['bail', 'sometimes', Rule::unique('invoices')->where('company_id', $user->company()->id)->ignore($this->invoice->id)];
$rules['is_amount_discount'] = ['boolean'];
$rules['client_id'] = ['bail', 'sometimes', Rule::in([$this->invoice->client_id])];
$rules['line_items'] = 'array';
$rules['discount'] = 'sometimes|numeric';
$rules['project_id'] = ['bail', 'sometimes', new ValidProjectForClient($this->all())];

View File

@ -30,7 +30,10 @@ class UpdatePurchaseOrderRequest extends Request
*/
public function authorize() : bool
{
return auth()->user()->can('edit', $this->purchase_order);
/** @var \App\Models\User $user */
$user = auth()->user();
return $user->can('edit', $this->purchase_order);
}
/**
@ -40,11 +43,13 @@ class UpdatePurchaseOrderRequest extends Request
*/
public function rules()
{
/** @var \App\Models\User $user */
$user = auth()->user();
$rules = [];
if ($this->number) {
$rules['number'] = Rule::unique('purchase_orders')->where('company_id', auth()->user()->company()->id)->ignore($this->purchase_order->id);
}
$rules['number'] = ['bail', 'sometimes', Rule::unique('purchase_orders')->where('company_id', $user->company()->id)->ignore($this->purchase_order->id)];
$rules['vendor_id'] = ['bail', 'sometimes', Rule::in([$this->purchase_order->client_id])];
$rules['line_items'] = 'array';
$rules['discount'] = 'sometimes|numeric';

View File

@ -30,11 +30,16 @@ class UpdateQuoteRequest extends Request
*/
public function authorize() : bool
{
return auth()->user()->can('edit', $this->quote);
/** @var \App\Models\User $user */
$user = auth()->user();
return $user->can('edit', $this->quote);
}
public function rules()
{
/** @var \App\Models\User $user */
$user = auth()->user();
$rules = [];
if ($this->file('documents') && is_array($this->file('documents'))) {
@ -50,9 +55,9 @@ class UpdateQuoteRequest extends Request
}
if ($this->number) {
$rules['number'] = Rule::unique('quotes')->where('company_id', auth()->user()->company()->id)->ignore($this->quote->id);
}
$rules['number'] = ['bail', 'sometimes', Rule::unique('quotes')->where('company_id', $user->company()->id)->ignore($this->quote->id)];
$rules['client_id'] = ['bail', 'sometimes', Rule::in([$this->quote->client_id])];
$rules['line_items'] = 'array';
$rules['discount'] = 'sometimes|numeric';

View File

@ -56,9 +56,10 @@ class UpdateRecurringInvoiceRequest extends Request
$rules['file'] = $this->file_validation;
}
if ($this->number) {
$rules['number'] = Rule::unique('recurring_invoices')->where('company_id', $user->company()->id)->ignore($this->recurring_invoice->id);
}
$rules['number'] = ['bail', 'sometimes', Rule::unique('recurring_invoices')->where('company_id', $user->company()->id)->ignore($this->recurring_invoice->id)];
$rules['client_id'] = ['bail', 'sometimes', Rule::in([$this->recurring_invoice->client_id])];
$rules['project_id'] = ['bail', 'sometimes', new ValidProjectForClient($this->all())];
$rules['tax_rate1'] = 'bail|sometimes|numeric';