diff --git a/app/Http/Controllers/InvoiceController.php b/app/Http/Controllers/InvoiceController.php index eaf62b4b8fc1..f2aa96ac75a3 100644 --- a/app/Http/Controllers/InvoiceController.php +++ b/app/Http/Controllers/InvoiceController.php @@ -935,6 +935,9 @@ class InvoiceController extends BaseController if ($request->has('documents')) $this->saveDocuments($request->file('documents'), $invoice); + if ($request->has('file')) + $this->saveDocuments($request->file('documents'), $invoice); + return $this->itemResponse($invoice->fresh()); } diff --git a/app/Http/Requests/Invoice/StoreInvoiceRequest.php b/app/Http/Requests/Invoice/StoreInvoiceRequest.php index 4762aaae1cef..b1b1599c6e45 100644 --- a/app/Http/Requests/Invoice/StoreInvoiceRequest.php +++ b/app/Http/Requests/Invoice/StoreInvoiceRequest.php @@ -47,6 +47,16 @@ class StoreInvoiceRequest extends Request $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'] = ['required', Rule::exists('clients')->where('company_id', auth()->user()->company()->id)]; diff --git a/app/Http/Requests/Invoice/UpdateInvoiceRequest.php b/app/Http/Requests/Invoice/UpdateInvoiceRequest.php index 8e4185b1188e..21195c7a7ebd 100644 --- a/app/Http/Requests/Invoice/UpdateInvoiceRequest.php +++ b/app/Http/Requests/Invoice/UpdateInvoiceRequest.php @@ -82,8 +82,6 @@ class UpdateInvoiceRequest extends Request unset($input['documents']); } -nlog($input); - $this->replace($input); } diff --git a/app/Http/Requests/Invoice/UploadInvoiceRequest.php b/app/Http/Requests/Invoice/UploadInvoiceRequest.php index ea908029e467..9426397d521f 100644 --- a/app/Http/Requests/Invoice/UploadInvoiceRequest.php +++ b/app/Http/Requests/Invoice/UploadInvoiceRequest.php @@ -33,6 +33,9 @@ class UploadInvoiceRequest extends Request if($this->input('documents')) $rules['documents'] = 'file|mimes:csv,png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:2000000'; + if($this->input('file')) + $rules['file'] = 'file|mimes:csv,png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:2000000'; + return $rules; } diff --git a/app/Http/Requests/Request.php b/app/Http/Requests/Request.php index 5329888672ca..74764d51b136 100644 --- a/app/Http/Requests/Request.php +++ b/app/Http/Requests/Request.php @@ -123,17 +123,6 @@ class Request extends FormRequest } } - if(request()->has('file')) - { - - request()->merge(['documents' => request()->file('file')]); - - // $requestFile = request()->files->get('file'); - - // request()->files->add(['documents' => $requestFile]); - - } - if (isset($input['invitations'])) { foreach ($input['invitations'] as $key => $value) { if (isset($input['invitations'][$key]['id']) && is_numeric($input['invitations'][$key]['id'])) { diff --git a/app/Repositories/BaseRepository.php b/app/Repositories/BaseRepository.php index 2cd20f1522b4..55a335be77d2 100644 --- a/app/Repositories/BaseRepository.php +++ b/app/Repositories/BaseRepository.php @@ -222,6 +222,9 @@ class BaseRepository if (array_key_exists('documents', $data)) $this->saveDocuments($data['documents'], $model); + if (array_key_exists('file', $data)) + $this->saveDocuments($data['file'], $model); + /* If invitations are present we need to filter existing invitations with the new ones */ if (isset($data['invitations'])) { $invitations = collect($data['invitations']); diff --git a/app/Utils/Traits/SavesDocuments.php b/app/Utils/Traits/SavesDocuments.php index c5879d0a194a..52d810141f9a 100644 --- a/app/Utils/Traits/SavesDocuments.php +++ b/app/Utils/Traits/SavesDocuments.php @@ -45,6 +45,7 @@ trait SavesDocuments $is_public ); } + } public function saveDocument($document, $entity, $is_public = true)