mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-06-02 03:24:34 -04:00
Ensure better unique rules
This commit is contained in:
parent
b841fe7000
commit
451e4e1bbe
@ -16,6 +16,7 @@ use App\Http\Requests\Request;
|
|||||||
use App\Utils\Traits\ChecksEntityStatus;
|
use App\Utils\Traits\ChecksEntityStatus;
|
||||||
use App\Utils\Traits\CleanLineItems;
|
use App\Utils\Traits\CleanLineItems;
|
||||||
use App\Utils\Traits\MakesHash;
|
use App\Utils\Traits\MakesHash;
|
||||||
|
use Illuminate\Validation\Rule;
|
||||||
|
|
||||||
class UpdateCreditRequest extends Request
|
class UpdateCreditRequest extends Request
|
||||||
{
|
{
|
||||||
@ -52,9 +53,8 @@ class UpdateCreditRequest extends Request
|
|||||||
$rules['documents'] = 'file|mimes:png,ai,svg,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000';
|
$rules['documents'] = 'file|mimes:png,ai,svg,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($this->input('number')) {
|
if($this->number)
|
||||||
$rules['number'] = 'unique:credits,number,'.$this->id.',id,company_id,'.$this->credit->company_id;
|
$rules['number'] = Rule::unique('credits')->where('company_id', auth()->user()->company()->id)->ignore($this->credit->id);
|
||||||
}
|
|
||||||
|
|
||||||
$rules['line_items'] = 'array';
|
$rules['line_items'] = 'array';
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@ use App\Http\ValidationRules\Invoice\LockedInvoiceRule;
|
|||||||
use App\Utils\Traits\ChecksEntityStatus;
|
use App\Utils\Traits\ChecksEntityStatus;
|
||||||
use App\Utils\Traits\CleanLineItems;
|
use App\Utils\Traits\CleanLineItems;
|
||||||
use App\Utils\Traits\MakesHash;
|
use App\Utils\Traits\MakesHash;
|
||||||
|
use Illuminate\Validation\Rule;
|
||||||
|
|
||||||
class UpdateInvoiceRequest extends Request
|
class UpdateInvoiceRequest extends Request
|
||||||
{
|
{
|
||||||
@ -49,10 +50,8 @@ class UpdateInvoiceRequest extends Request
|
|||||||
|
|
||||||
$rules['id'] = new LockedInvoiceRule($this->invoice);
|
$rules['id'] = new LockedInvoiceRule($this->invoice);
|
||||||
|
|
||||||
// if ($this->input('number') && strlen($this->input('number')) >= 1) {
|
if($this->number)
|
||||||
if ($this->input('number')) {
|
$rules['number'] = Rule::unique('invoices')->where('company_id', auth()->user()->company()->id)->ignore($this->invoice->id);
|
||||||
$rules['number'] = 'unique:invoices,number,'.$this->id.',id,company_id,'.$this->invoice->company_id;
|
|
||||||
}
|
|
||||||
|
|
||||||
$rules['line_items'] = 'array';
|
$rules['line_items'] = 'array';
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@ use App\Http\ValidationRules\PaymentAppliedValidAmount;
|
|||||||
use App\Http\ValidationRules\ValidCreditsPresentRule;
|
use App\Http\ValidationRules\ValidCreditsPresentRule;
|
||||||
use App\Utils\Traits\ChecksEntityStatus;
|
use App\Utils\Traits\ChecksEntityStatus;
|
||||||
use App\Utils\Traits\MakesHash;
|
use App\Utils\Traits\MakesHash;
|
||||||
|
use Illuminate\Validation\Rule;
|
||||||
|
|
||||||
class UpdatePaymentRequest extends Request
|
class UpdatePaymentRequest extends Request
|
||||||
{
|
{
|
||||||
@ -40,9 +41,8 @@ class UpdatePaymentRequest extends Request
|
|||||||
'documents' => 'mimes:png,ai,svg,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx',
|
'documents' => 'mimes:png,ai,svg,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx',
|
||||||
];
|
];
|
||||||
|
|
||||||
if ($this->input('number')) {
|
if($this->number)
|
||||||
$rules['number'] = 'nullable|unique:payments,number,'.$this->id.',id,company_id,'.$this->payment->company_id;
|
$rules['number'] = Rule::unique('payments')->where('company_id', auth()->user()->company()->id)->ignore($this->payment->id);
|
||||||
}
|
|
||||||
|
|
||||||
if ($this->input('documents') && is_array($this->input('documents'))) {
|
if ($this->input('documents') && is_array($this->input('documents'))) {
|
||||||
$documents = count($this->input('documents'));
|
$documents = count($this->input('documents'));
|
||||||
|
@ -15,6 +15,7 @@ use App\Http\Requests\Request;
|
|||||||
use App\Utils\Traits\ChecksEntityStatus;
|
use App\Utils\Traits\ChecksEntityStatus;
|
||||||
use App\Utils\Traits\CleanLineItems;
|
use App\Utils\Traits\CleanLineItems;
|
||||||
use App\Utils\Traits\MakesHash;
|
use App\Utils\Traits\MakesHash;
|
||||||
|
use Illuminate\Validation\Rule;
|
||||||
|
|
||||||
class UpdateQuoteRequest extends Request
|
class UpdateQuoteRequest extends Request
|
||||||
{
|
{
|
||||||
@ -46,9 +47,8 @@ class UpdateQuoteRequest extends Request
|
|||||||
$rules['documents'] = 'file|mimes:png,ai,svg,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000';
|
$rules['documents'] = 'file|mimes:png,ai,svg,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($this->input('number')) {
|
if($this->number)
|
||||||
$rules['number'] = 'unique:quotes,number,'.$this->id.',id,company_id,'.$this->quote->company_id;
|
$rules['number'] = Rule::unique('quotes')->where('company_id', auth()->user()->company()->id)->ignore($this->quote->id);
|
||||||
}
|
|
||||||
|
|
||||||
$rules['line_items'] = 'array';
|
$rules['line_items'] = 'array';
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@ use App\Utils\Traits\ChecksEntityStatus;
|
|||||||
use App\Utils\Traits\CleanLineItems;
|
use App\Utils\Traits\CleanLineItems;
|
||||||
use App\Utils\Traits\MakesHash;
|
use App\Utils\Traits\MakesHash;
|
||||||
use Illuminate\Http\UploadedFile;
|
use Illuminate\Http\UploadedFile;
|
||||||
|
use Illuminate\Validation\Rule;
|
||||||
|
|
||||||
class UpdateRecurringInvoiceRequest extends Request
|
class UpdateRecurringInvoiceRequest extends Request
|
||||||
{
|
{
|
||||||
@ -47,9 +48,9 @@ class UpdateRecurringInvoiceRequest extends Request
|
|||||||
$rules['documents'] = 'file|mimes:png,ai,svg,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000';
|
$rules['documents'] = 'file|mimes:png,ai,svg,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($this->input('number')) {
|
if($this->number)
|
||||||
$rules['number'] = 'unique:recurring_invoices,number,'.$this->recurring_invoice->id.',id,company_id,'.$this->recurring_invoice->company_id;
|
$rules['number'] = Rule::unique('recurring_invoices')->where('company_id', auth()->user()->company()->id)->ignore($this->recurring_invoice->id);
|
||||||
}
|
|
||||||
|
|
||||||
return $rules;
|
return $rules;
|
||||||
}
|
}
|
||||||
|
@ -14,6 +14,7 @@ namespace App\Http\Requests\RecurringQuote;
|
|||||||
use App\Http\Requests\Request;
|
use App\Http\Requests\Request;
|
||||||
use App\Utils\Traits\ChecksEntityStatus;
|
use App\Utils\Traits\ChecksEntityStatus;
|
||||||
use App\Utils\Traits\CleanLineItems;
|
use App\Utils\Traits\CleanLineItems;
|
||||||
|
use Illuminate\Validation\Rule;
|
||||||
|
|
||||||
class UpdateRecurringQuoteRequest extends Request
|
class UpdateRecurringQuoteRequest extends Request
|
||||||
{
|
{
|
||||||
@ -47,6 +48,9 @@ class UpdateRecurringQuoteRequest extends Request
|
|||||||
|
|
||||||
$input['line_items'] = isset($input['line_items']) ? $this->cleanItems($input['line_items']) : [];
|
$input['line_items'] = isset($input['line_items']) ? $this->cleanItems($input['line_items']) : [];
|
||||||
|
|
||||||
|
if($this->number)
|
||||||
|
$rules['number'] = Rule::unique('recurring_quotes')->where('company_id', auth()->user()->company()->id)->ignore($this->recurring_quote->id);
|
||||||
|
|
||||||
$this->replace($input);
|
$this->replace($input);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
namespace App\Http\Requests\TaxRate;
|
namespace App\Http\Requests\TaxRate;
|
||||||
|
|
||||||
use App\Http\Requests\Request;
|
use App\Http\Requests\Request;
|
||||||
|
use Illuminate\Validation\Rule;
|
||||||
|
|
||||||
class UpdateTaxRateRequest extends Request
|
class UpdateTaxRateRequest extends Request
|
||||||
{
|
{
|
||||||
@ -27,10 +28,14 @@ class UpdateTaxRateRequest extends Request
|
|||||||
|
|
||||||
public function rules()
|
public function rules()
|
||||||
{
|
{
|
||||||
return [
|
$rules = [];
|
||||||
// 'name' => 'unique:tax_rates,name,'.$this->tax_rate->name.',id,company_id,'.auth()->user()->companyId(),
|
|
||||||
'name' => 'unique:tax_rates,name,'.$this->id.',id,company_id,'.$this->company_id,
|
$rules['rate'] = 'numeric';
|
||||||
'rate' => 'numeric',
|
|
||||||
];
|
if($this->number)
|
||||||
|
$rules['number'] = Rule::unique('tax_rates')->where('company_id', auth()->user()->company()->id)->ignore($this->tax_rate->id);
|
||||||
|
|
||||||
|
return $rules;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
19
app/Http/Requests/Vendor/UpdateVendorRequest.php
vendored
19
app/Http/Requests/Vendor/UpdateVendorRequest.php
vendored
@ -14,6 +14,7 @@ namespace App\Http\Requests\Vendor;
|
|||||||
use App\Http\Requests\Request;
|
use App\Http\Requests\Request;
|
||||||
use App\Utils\Traits\ChecksEntityStatus;
|
use App\Utils\Traits\ChecksEntityStatus;
|
||||||
use App\Utils\Traits\MakesHash;
|
use App\Utils\Traits\MakesHash;
|
||||||
|
use Illuminate\Validation\Rule;
|
||||||
|
|
||||||
class UpdateVendorRequest extends Request
|
class UpdateVendorRequest extends Request
|
||||||
{
|
{
|
||||||
@ -35,18 +36,15 @@ class UpdateVendorRequest extends Request
|
|||||||
/* Ensure we have a client name, and that all emails are unique*/
|
/* Ensure we have a client name, and that all emails are unique*/
|
||||||
|
|
||||||
$rules['country_id'] = 'integer|nullable';
|
$rules['country_id'] = 'integer|nullable';
|
||||||
//$rules['id_number'] = 'unique:clients,id_number,,id,company_id,' . auth()->user()->company()->id;
|
|
||||||
$rules['id_number'] = 'unique:clients,id_number,'.$this->id.',id,company_id,'.$this->company_id;
|
if($this->number)
|
||||||
|
$rules['number'] = Rule::unique('vendors')->where('company_id', auth()->user()->company()->id)->ignore($this->vendor->id);
|
||||||
|
|
||||||
|
if($this->id_number)
|
||||||
|
$rules['id_number'] = Rule::unique('vendors')->where('company_id', auth()->user()->company()->id)->ignore($this->vendor->id);
|
||||||
|
|
||||||
$rules['contacts.*.email'] = 'nullable|distinct';
|
$rules['contacts.*.email'] = 'nullable|distinct';
|
||||||
|
|
||||||
$contacts = request('contacts');
|
|
||||||
|
|
||||||
if (is_array($contacts)) {
|
|
||||||
// for ($i = 0; $i < count($contacts); $i++) {
|
|
||||||
// // $rules['contacts.' . $i . '.email'] = 'nullable|email|unique:client_contacts,email,' . isset($contacts[$i]['id'].',company_id,'.$this->company_id);
|
|
||||||
// //$rules['contacts.' . $i . '.email'] = 'nullable|email';
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
|
|
||||||
return $rules;
|
return $rules;
|
||||||
}
|
}
|
||||||
@ -54,7 +52,6 @@ class UpdateVendorRequest extends Request
|
|||||||
public function messages()
|
public function messages()
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'unique' => ctrans('validation.unique', ['attribute' => 'email']),
|
|
||||||
'email' => ctrans('validation.email', ['attribute' => 'email']),
|
'email' => ctrans('validation.email', ['attribute' => 'email']),
|
||||||
'name.required' => ctrans('validation.required', ['attribute' => 'name']),
|
'name.required' => ctrans('validation.required', ['attribute' => 'name']),
|
||||||
'required' => ctrans('validation.required', ['attribute' => 'email']),
|
'required' => ctrans('validation.required', ['attribute' => 'email']),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user