1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-09-20 16:31:33 +02:00

update upload mime checks

This commit is contained in:
David Bomba 2023-02-27 20:12:59 +11:00
parent 29fff76a7f
commit 6e983cb506
44 changed files with 406 additions and 172 deletions

View File

@ -29,8 +29,15 @@ class UploadBankIntegrationRequest extends Request
{ {
$rules = []; $rules = [];
if ($this->input('documents')) { if($this->file('documents') && is_array($this->file('documents')))
$rules['documents'] = 'file|mimes:csv,png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:2000000'; $rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
if ($this->file('file') && is_array($this->file('file'))) {
$rules['file.*'] = $this->file_validation;
} elseif ($this->file('file')) {
$rules['file'] = $this->file_validation;
} }
return $rules; return $rules;

View File

@ -29,8 +29,15 @@ class UploadBankTransactionRequest extends Request
{ {
$rules = []; $rules = [];
if ($this->input('documents')) { if($this->file('documents') && is_array($this->file('documents')))
$rules['documents'] = 'file|mimes:csv,png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:2000000'; $rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
if ($this->file('file') && is_array($this->file('file'))) {
$rules['file.*'] = $this->file_validation;
} elseif ($this->file('file')) {
$rules['file'] = $this->file_validation;
} }
return $rules; return $rules;

View File

@ -38,14 +38,15 @@ class StoreClientRequest extends Request
public function rules() public function rules()
{ {
if ($this->input('documents') && is_array($this->input('documents'))) { if($this->file('documents') && is_array($this->file('documents')))
$documents = count($this->input('documents')); $rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
foreach (range(0, $documents) as $index) { if ($this->file('file') && is_array($this->file('file'))) {
$rules['documents.'.$index] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000'; $rules['file.*'] = $this->file_validation;
} } elseif ($this->file('file')) {
} elseif ($this->input('documents')) { $rules['file'] = $this->file_validation;
$rules['documents'] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000';
} }
if (isset($this->number)) { if (isset($this->number)) {

View File

@ -38,14 +38,15 @@ class UpdateClientRequest 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*/
if ($this->input('documents') && is_array($this->input('documents'))) { if($this->file('documents') && is_array($this->file('documents')))
$documents = count($this->input('documents')); $rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
foreach (range(0, $documents) as $index) { if ($this->file('file') && is_array($this->file('file'))) {
$rules['documents.'.$index] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000'; $rules['file.*'] = $this->file_validation;
} } elseif ($this->file('file')) {
} elseif ($this->input('documents')) { $rules['file'] = $this->file_validation;
$rules['documents'] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000';
} }
$rules['company_logo'] = 'mimes:jpeg,jpg,png,gif|max:10000'; $rules['company_logo'] = 'mimes:jpeg,jpg,png,gif|max:10000';

View File

@ -29,8 +29,15 @@ class UploadClientRequest extends Request
{ {
$rules = []; $rules = [];
if ($this->input('documents')) { if($this->file('documents') && is_array($this->file('documents')))
$rules['documents'] = 'file|mimes:csv,png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:2000000'; $rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
if ($this->file('file') && is_array($this->file('file'))) {
$rules['file.*'] = $this->file_validation;
} elseif ($this->file('file')) {
$rules['file'] = $this->file_validation;
} }
return $rules; return $rules;

View File

@ -29,8 +29,15 @@ class UploadCompanyRequest extends Request
{ {
$rules = []; $rules = [];
if ($this->input('documents')) { if($this->file('documents') && is_array($this->file('documents')))
$rules['documents'] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000'; $rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
if ($this->file('file') && is_array($this->file('file'))) {
$rules['file.*'] = $this->file_validation;
} elseif ($this->file('file')) {
$rules['file'] = $this->file_validation;
} }
return $rules; return $rules;

View File

@ -43,14 +43,15 @@ class StoreCreditRequest extends Request
{ {
$rules = []; $rules = [];
if ($this->input('documents') && is_array($this->input('documents'))) { if($this->file('documents') && is_array($this->file('documents')))
$documents = count($this->input('documents')); $rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
foreach (range(0, $documents) as $index) { if ($this->file('file') && is_array($this->file('file'))) {
$rules['documents.'.$index] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000'; $rules['file.*'] = $this->file_validation;
} } elseif ($this->file('file')) {
} elseif ($this->input('documents')) { $rules['file'] = $this->file_validation;
$rules['documents'] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000';
} }
$rules['client_id'] = 'required|exists:clients,id,company_id,'.auth()->user()->company()->id; $rules['client_id'] = 'required|exists:clients,id,company_id,'.auth()->user()->company()->id;

View File

@ -41,15 +41,16 @@ class UpdateCreditRequest extends Request
public function rules() public function rules()
{ {
$rules = []; $rules = [];
if($this->file('documents') && is_array($this->file('documents')))
$rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
if ($this->input('documents') && is_array($this->input('documents'))) { if ($this->file('file') && is_array($this->file('file'))) {
$documents = count($this->input('documents')); $rules['file.*'] = $this->file_validation;
} elseif ($this->file('file')) {
foreach (range(0, $documents) as $index) { $rules['file'] = $this->file_validation;
$rules['documents.'.$index] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000';
}
} elseif ($this->input('documents')) {
$rules['documents'] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000';
} }
if ($this->number) { if ($this->number) {

View File

@ -29,8 +29,15 @@ class UploadCreditRequest extends Request
{ {
$rules = []; $rules = [];
if ($this->input('documents')) { if($this->file('documents') && is_array($this->file('documents')))
$rules['documents'] = 'file|mimes:csv,png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:2000000'; $rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
if ($this->file('file') && is_array($this->file('file'))) {
$rules['file.*'] = $this->file_validation;
} elseif ($this->file('file')) {
$rules['file'] = $this->file_validation;
} }
return $rules; return $rules;

View File

@ -29,8 +29,15 @@ class UploadExpenseRequest extends Request
{ {
$rules = []; $rules = [];
if ($this->input('documents')) { if($this->file('documents') && is_array($this->file('documents')))
$rules['documents'] = 'file|mimes:csv,png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:2000000'; $rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
if ($this->file('file') && is_array($this->file('file'))) {
$rules['file.*'] = $this->file_validation;
} elseif ($this->file('file')) {
$rules['file'] = $this->file_validation;
} }
return $rules; return $rules;

View File

@ -29,10 +29,17 @@ class UploadGroupSettingRequest extends Request
{ {
$rules = []; $rules = [];
if ($this->input('documents')) { if($this->file('documents') && is_array($this->file('documents')))
$rules['documents'] = 'file|mimes:csv,png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:2000000'; $rules['documents.*'] = $this->file_validation;
} elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
if ($this->file('file') && is_array($this->file('file'))) {
$rules['file.*'] = $this->file_validation;
} elseif ($this->file('file')) {
$rules['file'] = $this->file_validation;
}
return $rules; return $rules;
} }
} }

View File

@ -37,24 +37,15 @@ class StoreInvoiceRequest extends Request
{ {
$rules = []; $rules = [];
if ($this->input('documents') && is_array($this->input('documents'))) { if($this->file('documents') && is_array($this->file('documents')))
$documents = count($this->input('documents')); $rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
foreach (range(0, $documents) as $index) { if ($this->file('file') && is_array($this->file('file'))) {
$rules['documents.'.$index] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000'; $rules['file.*'] = $this->file_validation;
} } elseif ($this->file('file')) {
} elseif ($this->input('documents')) { $rules['file'] = $this->file_validation;
$rules['documents'] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000';
}
if ($this->input('file') && is_array($this->input('file'))) {
$documents = count($this->input('file'));
foreach (range(0, $documents) as $index) {
$rules['file.'.$index] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000';
}
} elseif ($this->input('file')) {
$rules['file'] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000';
} }
$rules['client_id'] = 'bail|required|exists:clients,id,company_id,'.auth()->user()->company()->id.',is_deleted,0'; $rules['client_id'] = 'bail|required|exists:clients,id,company_id,'.auth()->user()->company()->id.',is_deleted,0';

View File

@ -39,14 +39,15 @@ class UpdateInvoiceRequest extends Request
{ {
$rules = []; $rules = [];
if ($this->input('documents') && is_array($this->input('documents'))) { if($this->file('documents') && is_array($this->file('documents')))
$documents = count($this->input('documents')); $rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
foreach (range(0, $documents) as $index) { if ($this->file('file') && is_array($this->file('file'))) {
$rules['documents.'.$index] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000'; $rules['file.*'] = $this->file_validation;
} } elseif ($this->file('file')) {
} elseif ($this->input('documents')) { $rules['file'] = $this->file_validation;
$rules['documents'] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000';
} }
$rules['id'] = new LockedInvoiceRule($this->invoice); $rules['id'] = new LockedInvoiceRule($this->invoice);

View File

@ -29,14 +29,22 @@ class UploadInvoiceRequest extends Request
{ {
$rules = []; $rules = [];
if ($this->input('documents')) { if($this->file('documents') && is_array($this->file('documents')))
$rules['documents'] = 'file|mimes:csv,png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:2000000'; $rules['documents.*'] = $this->file_validation;
} elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
if ($this->input('file')) { if ($this->file('file') && is_array($this->file('file'))) {
$rules['file'] = 'file|mimes:csv,png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:2000000'; $rules['file.*'] = $this->file_validation;
} elseif ($this->file('file')) {
$rules['file'] = $this->file_validation;
} }
return $rules; return $rules;
} }
public function prepareForValidation()
{
}
} }

View File

@ -113,16 +113,17 @@ class StorePaymentRequest extends Request
]; ];
if ($this->input('documents') && is_array($this->input('documents'))) { if($this->file('documents') && is_array($this->file('documents')))
$documents = count($this->input('documents')); $rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
foreach (range(0, $documents) as $index) { if ($this->file('file') && is_array($this->file('file'))) {
$rules['documents.'.$index] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000'; $rules['file.*'] = $this->file_validation;
} } elseif ($this->file('file')) {
} elseif ($this->input('documents')) { $rules['file'] = $this->file_validation;
$rules['documents'] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000';
} }
return $rules; return $rules;
} }
} }

View File

@ -38,23 +38,23 @@ class UpdatePaymentRequest extends Request
$rules = [ $rules = [
'invoices' => ['array', new PaymentAppliedValidAmount, new ValidCreditsPresentRule($this->all())], 'invoices' => ['array', new PaymentAppliedValidAmount, new ValidCreditsPresentRule($this->all())],
'invoices.*.invoice_id' => 'distinct', 'invoices.*.invoice_id' => 'distinct',
'documents' => 'mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx',
]; ];
if ($this->number) { if ($this->number) {
$rules['number'] = Rule::unique('payments')->where('company_id', auth()->user()->company()->id)->ignore($this->payment->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->file('documents') && is_array($this->file('documents')))
$documents = count($this->input('documents')); $rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
foreach (range(0, $documents) as $index) { if ($this->file('file') && is_array($this->file('file'))) {
$rules['documents.'.$index] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000'; $rules['file.*'] = $this->file_validation;
} } elseif ($this->file('file')) {
} elseif ($this->input('documents')) { $rules['file'] = $this->file_validation;
$rules['documents'] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000';
} }
return $rules; return $rules;
} }

View File

@ -29,8 +29,15 @@ class UploadPaymentRequest extends Request
{ {
$rules = []; $rules = [];
if ($this->input('documents')) { if($this->file('documents') && is_array($this->file('documents')))
$rules['documents'] = 'file|mimes:csv,png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:2000000'; $rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
if ($this->file('file') && is_array($this->file('file'))) {
$rules['file.*'] = $this->file_validation;
} elseif ($this->file('file')) {
$rules['file'] = $this->file_validation;
} }
return $rules; return $rules;

View File

@ -28,14 +28,15 @@ class StoreProductRequest extends Request
public function rules() public function rules()
{ {
if ($this->input('documents') && is_array($this->input('documents'))) { if($this->file('documents') && is_array($this->file('documents')))
$documents = count($this->input('documents')); $rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
foreach (range(0, $documents) as $index) { if ($this->file('file') && is_array($this->file('file'))) {
$rules['documents.'.$index] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000'; $rules['file.*'] = $this->file_validation;
} } elseif ($this->file('file')) {
} elseif ($this->input('documents')) { $rules['file'] = $this->file_validation;
$rules['documents'] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000';
} }
$rules['cost'] = 'sometimes|numeric'; $rules['cost'] = 'sometimes|numeric';

View File

@ -31,16 +31,17 @@ class UpdateProductRequest extends Request
public function rules() public function rules()
{ {
if ($this->input('documents') && is_array($this->input('documents'))) { if($this->file('documents') && is_array($this->file('documents')))
$documents = count($this->input('documents')); $rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
foreach (range(0, $documents) as $index) { if ($this->file('file') && is_array($this->file('file'))) {
$rules['documents.'.$index] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000'; $rules['file.*'] = $this->file_validation;
} } elseif ($this->file('file')) {
} elseif ($this->input('documents')) { $rules['file'] = $this->file_validation;
$rules['documents'] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000';
} }
$rules['cost'] = 'numeric'; $rules['cost'] = 'numeric';
$rules['price'] = 'numeric'; $rules['price'] = 'numeric';
$rules['quantity'] = 'numeric'; $rules['quantity'] = 'numeric';

View File

@ -28,9 +28,15 @@ class UploadProductRequest extends Request
public function rules() public function rules()
{ {
$rules = []; $rules = [];
if($this->file('documents') && is_array($this->file('documents')))
$rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
if ($this->input('documents')) { if ($this->file('file') && is_array($this->file('file'))) {
$rules['documents'] = 'file|mimes:csv,png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:2000000'; $rules['file.*'] = $this->file_validation;
} elseif ($this->file('file')) {
$rules['file'] = $this->file_validation;
} }
return $rules; return $rules;

View File

@ -42,6 +42,17 @@ class StoreProjectRequest extends Request
$rules['number'] = Rule::unique('projects')->where('company_id', auth()->user()->company()->id); $rules['number'] = Rule::unique('projects')->where('company_id', auth()->user()->company()->id);
} }
if($this->file('documents') && is_array($this->file('documents')))
$rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
if ($this->file('file') && is_array($this->file('file'))) {
$rules['file.*'] = $this->file_validation;
} elseif ($this->file('file')) {
$rules['file'] = $this->file_validation;
}
return $this->globalRules($rules); return $this->globalRules($rules);
} }

View File

@ -37,6 +37,17 @@ class UpdateProjectRequest extends Request
$rules['number'] = Rule::unique('projects')->where('company_id', auth()->user()->company()->id)->ignore($this->project->id); $rules['number'] = Rule::unique('projects')->where('company_id', auth()->user()->company()->id)->ignore($this->project->id);
} }
if($this->file('documents') && is_array($this->file('documents')))
$rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
if ($this->file('file') && is_array($this->file('file'))) {
$rules['file.*'] = $this->file_validation;
} elseif ($this->file('file')) {
$rules['file'] = $this->file_validation;
}
return $this->globalRules($rules); return $this->globalRules($rules);
} }

View File

@ -29,8 +29,15 @@ class UploadProjectRequest extends Request
{ {
$rules = []; $rules = [];
if ($this->input('documents')) { if($this->file('documents') && is_array($this->file('documents')))
$rules['documents'] = 'file|mimes:csv,png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:2000000'; $rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
if ($this->file('file') && is_array($this->file('file'))) {
$rules['file.*'] = $this->file_validation;
} elseif ($this->file('file')) {
$rules['file'] = $this->file_validation;
} }
return $rules; return $rules;

View File

@ -47,6 +47,17 @@ class StorePurchaseOrderRequest extends Request
$rules['is_amount_discount'] = ['boolean']; $rules['is_amount_discount'] = ['boolean'];
$rules['line_items'] = 'array'; $rules['line_items'] = 'array';
if($this->file('documents') && is_array($this->file('documents')))
$rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
if ($this->file('file') && is_array($this->file('file'))) {
$rules['file.*'] = $this->file_validation;
} elseif ($this->file('file')) {
$rules['file'] = $this->file_validation;
}
return $rules; return $rules;
} }

View File

@ -50,6 +50,17 @@ class UpdatePurchaseOrderRequest extends Request
$rules['discount'] = 'sometimes|numeric'; $rules['discount'] = 'sometimes|numeric';
$rules['is_amount_discount'] = ['boolean']; $rules['is_amount_discount'] = ['boolean'];
if($this->file('documents') && is_array($this->file('documents')))
$rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
if ($this->file('file') && is_array($this->file('file'))) {
$rules['file.*'] = $this->file_validation;
} elseif ($this->file('file')) {
$rules['file'] = $this->file_validation;
}
return $rules; return $rules;
} }

View File

@ -29,10 +29,17 @@ class UploadPurchaseOrderRequest extends Request
{ {
$rules = []; $rules = [];
if ($this->input('documents')) { if($this->file('documents') && is_array($this->file('documents')))
$rules['documents'] = 'file|mimes:csv,png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:2000000'; $rules['documents.*'] = $this->file_validation;
} elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
if ($this->file('file') && is_array($this->file('file'))) {
$rules['file.*'] = $this->file_validation;
} elseif ($this->file('file')) {
$rules['file'] = $this->file_validation;
}
return $rules; return $rules;
} }
} }

View File

@ -39,16 +39,17 @@ class StoreQuoteRequest extends Request
$rules['client_id'] = 'required|exists:clients,id,company_id,'.auth()->user()->company()->id; $rules['client_id'] = 'required|exists:clients,id,company_id,'.auth()->user()->company()->id;
if ($this->input('documents') && is_array($this->input('documents'))) { if($this->file('documents') && is_array($this->file('documents')))
$documents = count($this->input('documents')); $rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
foreach (range(0, $documents) as $index) { if ($this->file('file') && is_array($this->file('file'))) {
$rules['documents.'.$index] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000'; $rules['file.*'] = $this->file_validation;
} } elseif ($this->file('file')) {
} elseif ($this->input('documents')) { $rules['file'] = $this->file_validation;
$rules['documents'] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000';
} }
$rules['number'] = ['nullable', Rule::unique('quotes')->where('company_id', auth()->user()->company()->id)]; $rules['number'] = ['nullable', Rule::unique('quotes')->where('company_id', auth()->user()->company()->id)];
$rules['discount'] = 'sometimes|numeric'; $rules['discount'] = 'sometimes|numeric';

View File

@ -37,16 +37,18 @@ class UpdateQuoteRequest extends Request
{ {
$rules = []; $rules = [];
if ($this->input('documents') && is_array($this->input('documents'))) { if($this->file('documents') && is_array($this->file('documents')))
$documents = count($this->input('documents')); $rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
foreach (range(0, $documents) as $index) { if ($this->file('file') && is_array($this->file('file'))) {
$rules['documents.'.$index] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000'; $rules['file.*'] = $this->file_validation;
} } elseif ($this->file('file')) {
} elseif ($this->input('documents')) { $rules['file'] = $this->file_validation;
$rules['documents'] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000';
} }
if ($this->number) { if ($this->number) {
$rules['number'] = Rule::unique('quotes')->where('company_id', auth()->user()->company()->id)->ignore($this->quote->id); $rules['number'] = Rule::unique('quotes')->where('company_id', auth()->user()->company()->id)->ignore($this->quote->id);
} }

View File

@ -28,9 +28,16 @@ class UploadQuoteRequest extends Request
public function rules() public function rules()
{ {
$rules = []; $rules = [];
if($this->file('documents') && is_array($this->file('documents')))
$rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
if ($this->input('documents')) { if ($this->file('file') && is_array($this->file('file'))) {
$rules['documents'] = 'file|mimes:csv,png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:2000000'; $rules['file.*'] = $this->file_validation;
} elseif ($this->file('file')) {
$rules['file'] = $this->file_validation;
} }
return $rules; return $rules;

View File

@ -48,6 +48,17 @@ class StoreRecurringExpenseRequest extends Request
$rules['tax_amount2'] = 'numeric'; $rules['tax_amount2'] = 'numeric';
$rules['tax_amount3'] = 'numeric'; $rules['tax_amount3'] = 'numeric';
if($this->file('documents') && is_array($this->file('documents')))
$rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
if ($this->file('file') && is_array($this->file('file'))) {
$rules['file.*'] = $this->file_validation;
} elseif ($this->file('file')) {
$rules['file'] = $this->file_validation;
}
return $this->globalRules($rules); return $this->globalRules($rules);
} }

View File

@ -48,6 +48,17 @@ class UpdateRecurringExpenseRequest extends Request
$rules['tax_amount3'] = 'numeric'; $rules['tax_amount3'] = 'numeric';
$rules['category_id'] = 'bail|nullable|sometimes|exists:expense_categories,id,company_id,'.auth()->user()->company()->id.',is_deleted,0'; $rules['category_id'] = 'bail|nullable|sometimes|exists:expense_categories,id,company_id,'.auth()->user()->company()->id.',is_deleted,0';
if($this->file('documents') && is_array($this->file('documents')))
$rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
if ($this->file('file') && is_array($this->file('file'))) {
$rules['file.*'] = $this->file_validation;
} elseif ($this->file('file')) {
$rules['file'] = $this->file_validation;
}
return $this->globalRules($rules); return $this->globalRules($rules);
} }

View File

@ -29,8 +29,15 @@ class UploadRecurringExpenseRequest extends Request
{ {
$rules = []; $rules = [];
if ($this->input('documents')) { if($this->file('documents') && is_array($this->file('documents')))
$rules['documents'] = 'file|mimes:csv,png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:2000000'; $rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
if ($this->file('file') && is_array($this->file('file'))) {
$rules['file.*'] = $this->file_validation;
} elseif ($this->file('file')) {
$rules['file'] = $this->file_validation;
} }
return $rules; return $rules;

View File

@ -38,14 +38,15 @@ class StoreRecurringInvoiceRequest extends Request
{ {
$rules = []; $rules = [];
if ($this->input('documents') && is_array($this->input('documents'))) { if($this->file('documents') && is_array($this->file('documents')))
$documents = count($this->input('documents')); $rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
foreach (range(0, $documents) as $index) { if ($this->file('file') && is_array($this->file('file'))) {
$rules['documents.'.$index] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000'; $rules['file.*'] = $this->file_validation;
} } elseif ($this->file('file')) {
} elseif ($this->input('documents')) { $rules['file'] = $this->file_validation;
$rules['documents'] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000';
} }
$rules['client_id'] = 'required|exists:clients,id,company_id,'.auth()->user()->company()->id; $rules['client_id'] = 'required|exists:clients,id,company_id,'.auth()->user()->company()->id;

View File

@ -38,14 +38,15 @@ class UpdateRecurringInvoiceRequest extends Request
{ {
$rules = []; $rules = [];
if ($this->input('documents') && is_array($this->input('documents'))) { if($this->file('documents') && is_array($this->file('documents')))
$documents = count($this->input('documents')); $rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
foreach (range(0, $documents) as $index) { if ($this->file('file') && is_array($this->file('file'))) {
$rules['documents.'.$index] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000'; $rules['file.*'] = $this->file_validation;
} } elseif ($this->file('file')) {
} elseif ($this->input('documents')) { $rules['file'] = $this->file_validation;
$rules['documents'] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000';
} }
if ($this->number) { if ($this->number) {

View File

@ -29,10 +29,17 @@ class UploadRecurringInvoiceRequest extends Request
{ {
$rules = []; $rules = [];
if ($this->input('documents')) { if($this->file('documents') && is_array($this->file('documents')))
$rules['documents'] = 'file|mimes:csv,png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:2000000'; $rules['documents.*'] = $this->file_validation;
} elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
if ($this->file('file') && is_array($this->file('file'))) {
$rules['file.*'] = $this->file_validation;
} elseif ($this->file('file')) {
$rules['file'] = $this->file_validation;
}
return $rules; return $rules;
} }
} }

View File

@ -36,15 +36,16 @@ class StoreRecurringQuoteRequest extends Request
public function rules() public function rules()
{ {
$rules = []; $rules = [];
if($this->file('documents') && is_array($this->file('documents')))
$rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
if ($this->input('documents') && is_array($this->input('documents'))) { if ($this->file('file') && is_array($this->file('file'))) {
$documents = count($this->input('documents')); $rules['file.*'] = $this->file_validation;
} elseif ($this->file('file')) {
foreach (range(0, $documents) as $index) { $rules['file'] = $this->file_validation;
$rules['documents.'.$index] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000';
}
} elseif ($this->input('documents')) {
$rules['documents'] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000';
} }
$rules['client_id'] = 'required|exists:clients,id,company_id,'.auth()->user()->company()->id; $rules['client_id'] = 'required|exists:clients,id,company_id,'.auth()->user()->company()->id;

View File

@ -37,16 +37,17 @@ class UpdateRecurringQuoteRequest extends Request
{ {
$rules = []; $rules = [];
if ($this->input('documents') && is_array($this->input('documents'))) { if($this->file('documents') && is_array($this->file('documents')))
$documents = count($this->input('documents')); $rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
foreach (range(0, $documents) as $index) { if ($this->file('file') && is_array($this->file('file'))) {
$rules['documents.'.$index] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000'; $rules['file.*'] = $this->file_validation;
} } elseif ($this->file('file')) {
} elseif ($this->input('documents')) { $rules['file'] = $this->file_validation;
$rules['documents'] = 'file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000';
} }
if ($this->number) { if ($this->number) {
$rules['number'] = Rule::unique('recurring_quotes')->where('company_id', auth()->user()->company()->id)->ignore($this->recurring_quote->id); $rules['number'] = Rule::unique('recurring_quotes')->where('company_id', auth()->user()->company()->id)->ignore($this->recurring_quote->id);
} }

View File

@ -29,10 +29,17 @@ class UploadRecurringQuoteRequest extends Request
{ {
$rules = []; $rules = [];
if ($this->input('documents')) { if($this->file('documents') && is_array($this->file('documents')))
$rules['documents'] = 'file|mimes:csv,png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:2000000'; $rules['documents.*'] = $this->file_validation;
} elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
if ($this->file('file') && is_array($this->file('file'))) {
$rules['file.*'] = $this->file_validation;
} elseif ($this->file('file')) {
$rules['file'] = $this->file_validation;
}
return $rules; return $rules;
} }
} }

View File

@ -20,6 +20,7 @@ class Request extends FormRequest
use MakesHash; use MakesHash;
use RuntimeFormRequest; use RuntimeFormRequest;
protected $file_validation = 'sometimes|file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000';
/** /**
* Get the validation rules that apply to the request. * Get the validation rules that apply to the request.
* *

View File

@ -58,6 +58,17 @@ class StoreTaskRequest extends Request
$fail('Please correct overlapping values'); $fail('Please correct overlapping values');
} }
}]; }];
if($this->file('documents') && is_array($this->file('documents')))
$rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
if ($this->file('file') && is_array($this->file('file'))) {
$rules['file.*'] = $this->file_validation;
} elseif ($this->file('file')) {
$rules['file'] = $this->file_validation;
}
return $this->globalRules($rules); return $this->globalRules($rules);

View File

@ -30,7 +30,6 @@ class UpdateTaskRequest extends Request
*/ */
public function authorize() : bool public function authorize() : bool
{ {
nlog("oioi");
//prevent locked tasks from updating //prevent locked tasks from updating
if ($this->task->invoice_id && $this->task->company->invoice_task_lock) { if ($this->task->invoice_id && $this->task->company->invoice_task_lock) {
return false; return false;
@ -67,6 +66,17 @@ class UpdateTaskRequest extends Request
} }
}]; }];
if($this->file('documents') && is_array($this->file('documents')))
$rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
if ($this->file('file') && is_array($this->file('file'))) {
$rules['file.*'] = $this->file_validation;
} elseif ($this->file('file')) {
$rules['file'] = $this->file_validation;
}
return $this->globalRules($rules); return $this->globalRules($rules);
} }

View File

@ -47,6 +47,16 @@ class StoreVendorRequest extends Request
$rules['currency_id'] = 'bail|required|exists:currencies,id'; $rules['currency_id'] = 'bail|required|exists:currencies,id';
if($this->file('documents') && is_array($this->file('documents')))
$rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
if ($this->file('file') && is_array($this->file('file'))) {
$rules['file.*'] = $this->file_validation;
} elseif ($this->file('file')) {
$rules['file'] = $this->file_validation;
}
return $rules; return $rules;
} }

View File

@ -44,6 +44,17 @@ class UpdateVendorRequest extends Request
$rules['contacts.*.email'] = 'nullable|distinct'; $rules['contacts.*.email'] = 'nullable|distinct';
$rules['currency_id'] = 'bail|sometimes|exists:currencies,id'; $rules['currency_id'] = 'bail|sometimes|exists:currencies,id';
if($this->file('documents') && is_array($this->file('documents')))
$rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
if ($this->file('file') && is_array($this->file('file'))) {
$rules['file.*'] = $this->file_validation;
} elseif ($this->file('file')) {
$rules['file'] = $this->file_validation;
}
return $rules; return $rules;
} }

View File

@ -29,8 +29,15 @@ class UploadVendorRequest extends Request
{ {
$rules = []; $rules = [];
if ($this->input('documents')) { if($this->file('documents') && is_array($this->file('documents')))
$rules['documents'] = 'file|mimes:csv,png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:2000000'; $rules['documents.*'] = $this->file_validation;
elseif($this->file('documents'))
$rules['documents'] = $this->file_validation;
if ($this->file('file') && is_array($this->file('file'))) {
$rules['file.*'] = $this->file_validation;
} elseif ($this->file('file')) {
$rules['file'] = $this->file_validation;
} }
return $rules; return $rules;