diff --git a/app/Http/Requests/BankIntegration/UploadBankIntegrationRequest.php b/app/Http/Requests/BankIntegration/UploadBankIntegrationRequest.php index cd07c0688343..744db5fdbb55 100644 --- a/app/Http/Requests/BankIntegration/UploadBankIntegrationRequest.php +++ b/app/Http/Requests/BankIntegration/UploadBankIntegrationRequest.php @@ -41,6 +41,20 @@ class UploadBankIntegrationRequest extends Request $rules['file'] = $this->file_validation; } + $rules['is_public'] = 'sometimes|boolean'; + return $rules; } + + public function prepareForValidation() + { + $input = $this->all(); + + if(isset($input['is_public'])) { + $input['is_public'] = $this->toBoolean($input['is_public']); + } + + $this->replace($input); + + } } diff --git a/app/Http/Requests/BankTransaction/UploadBankTransactionRequest.php b/app/Http/Requests/BankTransaction/UploadBankTransactionRequest.php index 0bbc319ef3e0..bb19d0d62b8e 100644 --- a/app/Http/Requests/BankTransaction/UploadBankTransactionRequest.php +++ b/app/Http/Requests/BankTransaction/UploadBankTransactionRequest.php @@ -41,6 +41,20 @@ class UploadBankTransactionRequest extends Request $rules['file'] = $this->file_validation; } + $rules['is_public'] = 'sometimes|boolean'; + return $rules; } + + public function prepareForValidation() + { + $input = $this->all(); + + if(isset($input['is_public'])) { + $input['is_public'] = $this->toBoolean($input['is_public']); + } + + $this->replace($input); + + } } diff --git a/app/Http/Requests/Client/UploadClientRequest.php b/app/Http/Requests/Client/UploadClientRequest.php index e5baef5ef0be..98c7916a430d 100644 --- a/app/Http/Requests/Client/UploadClientRequest.php +++ b/app/Http/Requests/Client/UploadClientRequest.php @@ -41,6 +41,20 @@ class UploadClientRequest extends Request $rules['file'] = $this->file_validation; } + $rules['is_public'] = 'sometimes|boolean'; + return $rules; } + + public function prepareForValidation() + { + $input = $this->all(); + + if(isset($input['is_public'])) { + $input['is_public'] = $this->toBoolean($input['is_public']); + } + + $this->replace($input); + + } } diff --git a/app/Http/Requests/Credit/UploadCreditRequest.php b/app/Http/Requests/Credit/UploadCreditRequest.php index e25782acaf12..79905dc46998 100644 --- a/app/Http/Requests/Credit/UploadCreditRequest.php +++ b/app/Http/Requests/Credit/UploadCreditRequest.php @@ -41,6 +41,20 @@ class UploadCreditRequest extends Request $rules['file'] = $this->file_validation; } + $rules['is_public'] = 'sometimes|boolean'; + return $rules; } + + public function prepareForValidation() + { + $input = $this->all(); + + if(isset($input['is_public'])) { + $input['is_public'] = $this->toBoolean($input['is_public']); + } + + $this->replace($input); + + } } diff --git a/app/Http/Requests/Document/CreateDocumentRequest.php b/app/Http/Requests/Document/CreateDocumentRequest.php index b90a34bd932a..672d8666db48 100644 --- a/app/Http/Requests/Document/CreateDocumentRequest.php +++ b/app/Http/Requests/Document/CreateDocumentRequest.php @@ -23,6 +23,9 @@ class CreateDocumentRequest extends Request */ public function authorize() : bool { - return auth()->user()->can('create', Document::class); + /** @var \App\Models\User $user */ + $user = auth()->user(); + + return $user->can('create', Document::class); } } diff --git a/app/Http/Requests/Document/DestroyDocumentRequest.php b/app/Http/Requests/Document/DestroyDocumentRequest.php index f6f341af0dac..8edb3d9fbaa2 100644 --- a/app/Http/Requests/Document/DestroyDocumentRequest.php +++ b/app/Http/Requests/Document/DestroyDocumentRequest.php @@ -22,6 +22,9 @@ class DestroyDocumentRequest extends Request */ public function authorize() : bool { - return auth()->user()->can('edit', $this->document); + /** @var \App\Models\User $user */ + $user = auth()->user(); + + return $user->can('edit', $this->document); } } diff --git a/app/Http/Requests/Document/EditDocumentRequest.php b/app/Http/Requests/Document/EditDocumentRequest.php index 9679c3aaab0f..c10a2e0f6a3a 100644 --- a/app/Http/Requests/Document/EditDocumentRequest.php +++ b/app/Http/Requests/Document/EditDocumentRequest.php @@ -22,7 +22,10 @@ class EditDocumentRequest extends Request */ public function authorize() : bool { - return auth()->user()->can('edit', $this->document); + /** @var \App\Models\User $user */ + $user = auth()->user(); + + return $user->can('edit', $this->document); } /** diff --git a/app/Http/Requests/Document/ShowDocumentRequest.php b/app/Http/Requests/Document/ShowDocumentRequest.php index 1a3006bf56cd..c993955e37ec 100644 --- a/app/Http/Requests/Document/ShowDocumentRequest.php +++ b/app/Http/Requests/Document/ShowDocumentRequest.php @@ -22,7 +22,10 @@ class ShowDocumentRequest extends Request */ public function authorize() : bool { - return auth()->user()->can('view', $this->document); + /** @var \App\Models\User $user */ + $user = auth()->user(); + + return $user->can('view', $this->document); } /** diff --git a/app/Http/Requests/Document/StoreDocumentRequest.php b/app/Http/Requests/Document/StoreDocumentRequest.php index e0eda8d112fc..f31504615dfe 100644 --- a/app/Http/Requests/Document/StoreDocumentRequest.php +++ b/app/Http/Requests/Document/StoreDocumentRequest.php @@ -46,15 +46,4 @@ class StoreDocumentRequest extends Request $this->replace($input); } - /** - * Convert to boolean - * - * @param $bool - * @return bool - */ - private function toBoolean($bool): bool - { - return filter_var($bool, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE); - } - } diff --git a/app/Http/Requests/Expense/UploadExpenseRequest.php b/app/Http/Requests/Expense/UploadExpenseRequest.php index 694f2317f2dd..ebeff6e5b20c 100644 --- a/app/Http/Requests/Expense/UploadExpenseRequest.php +++ b/app/Http/Requests/Expense/UploadExpenseRequest.php @@ -41,6 +41,20 @@ class UploadExpenseRequest extends Request $rules['file'] = $this->file_validation; } + $rules['is_public'] = 'sometimes|boolean'; + return $rules; } + + public function prepareForValidation() + { + $input = $this->all(); + + if(isset($input['is_public'])) { + $input['is_public'] = $this->toBoolean($input['is_public']); + } + + $this->replace($input); + + } } diff --git a/app/Http/Requests/Invoice/UploadInvoiceRequest.php b/app/Http/Requests/Invoice/UploadInvoiceRequest.php index b6ca3454986c..45d97b079900 100644 --- a/app/Http/Requests/Invoice/UploadInvoiceRequest.php +++ b/app/Http/Requests/Invoice/UploadInvoiceRequest.php @@ -51,6 +51,14 @@ class UploadInvoiceRequest extends Request } public function prepareForValidation() - { + { + $input = $this->all(); + + if(isset($input['is_public'])) { + $input['is_public'] = $this->toBoolean($input['is_public']); + } + + $this->replace($input); + } } diff --git a/app/Http/Requests/Payment/UploadPaymentRequest.php b/app/Http/Requests/Payment/UploadPaymentRequest.php index 52bb9b2b318b..d8f643c6f92f 100644 --- a/app/Http/Requests/Payment/UploadPaymentRequest.php +++ b/app/Http/Requests/Payment/UploadPaymentRequest.php @@ -2,7 +2,7 @@ /** * Payment Ninja (https://paymentninja.com). * - * @link https://github.com/paymentninja/paymentninja source repository + * @link https://github.com/invoiceninja/invoiceninja source repository * * @copyright Copyright (c) 2022. Payment Ninja LLC (https://paymentninja.com) * @@ -41,6 +41,20 @@ class UploadPaymentRequest extends Request $rules['file'] = $this->file_validation; } + $rules['is_public'] = 'sometimes|boolean'; + return $rules; } + + public function prepareForValidation() + { + $input = $this->all(); + + if(isset($input['is_public'])) { + $input['is_public'] = $this->toBoolean($input['is_public']); + } + + $this->replace($input); + + } } diff --git a/app/Http/Requests/Product/UploadProductRequest.php b/app/Http/Requests/Product/UploadProductRequest.php index b7117c035790..1f8b13a41abf 100644 --- a/app/Http/Requests/Product/UploadProductRequest.php +++ b/app/Http/Requests/Product/UploadProductRequest.php @@ -2,7 +2,7 @@ /** * Product Ninja (https://paymentninja.com). * - * @link https://github.com/paymentninja/paymentninja source repository + * @link https://github.com/invoiceninja/invoiceninja source repository * * @copyright Copyright (c) 2022. Product Ninja LLC (https://paymentninja.com) * @@ -40,6 +40,20 @@ class UploadProductRequest extends Request $rules['file'] = $this->file_validation; } + $rules['is_public'] = 'sometimes|boolean'; + return $rules; } + + public function prepareForValidation() + { + $input = $this->all(); + + if(isset($input['is_public'])) { + $input['is_public'] = $this->toBoolean($input['is_public']); + } + + $this->replace($input); + + } } diff --git a/app/Http/Requests/Project/UploadProjectRequest.php b/app/Http/Requests/Project/UploadProjectRequest.php index c7504f5b41f7..c4259a6a9a04 100644 --- a/app/Http/Requests/Project/UploadProjectRequest.php +++ b/app/Http/Requests/Project/UploadProjectRequest.php @@ -2,7 +2,7 @@ /** * Project Ninja (https://paymentninja.com). * - * @link https://github.com/paymentninja/paymentninja source repository + * @link https://github.com/invoiceninja/invoiceninja source repository * * @copyright Copyright (c) 2022. Project Ninja LLC (https://paymentninja.com) * @@ -41,6 +41,20 @@ class UploadProjectRequest extends Request $rules['file'] = $this->file_validation; } + $rules['is_public'] = 'sometimes|boolean'; + return $rules; } + + public function prepareForValidation() + { + $input = $this->all(); + + if(isset($input['is_public'])) { + $input['is_public'] = $this->toBoolean($input['is_public']); + } + + $this->replace($input); + + } } diff --git a/app/Http/Requests/PurchaseOrder/UploadPurchaseOrderRequest.php b/app/Http/Requests/PurchaseOrder/UploadPurchaseOrderRequest.php index 25aadfdb1a19..5564faaeacf4 100644 --- a/app/Http/Requests/PurchaseOrder/UploadPurchaseOrderRequest.php +++ b/app/Http/Requests/PurchaseOrder/UploadPurchaseOrderRequest.php @@ -1,10 +1,10 @@ file_validation; } + $rules['is_public'] = 'sometimes|boolean'; + return $rules; } + + public function prepareForValidation() + { + $input = $this->all(); + + if(isset($input['is_public'])) { + $input['is_public'] = $this->toBoolean($input['is_public']); + } + + $this->replace($input); + + } } diff --git a/app/Http/Requests/Quote/UploadQuoteRequest.php b/app/Http/Requests/Quote/UploadQuoteRequest.php index cfc3580ad412..a45654aa39c4 100644 --- a/app/Http/Requests/Quote/UploadQuoteRequest.php +++ b/app/Http/Requests/Quote/UploadQuoteRequest.php @@ -1,10 +1,10 @@ file_validation; } + $rules['is_public'] = 'sometimes|boolean'; + return $rules; } + + public function prepareForValidation() + { + $input = $this->all(); + + if(isset($input['is_public'])) { + $input['is_public'] = $this->toBoolean($input['is_public']); + } + + $this->replace($input); + + } } diff --git a/app/Http/Requests/RecurringInvoice/UploadRecurringInvoiceRequest.php b/app/Http/Requests/RecurringInvoice/UploadRecurringInvoiceRequest.php index 7d0ef57f7eba..788ea08c827f 100644 --- a/app/Http/Requests/RecurringInvoice/UploadRecurringInvoiceRequest.php +++ b/app/Http/Requests/RecurringInvoice/UploadRecurringInvoiceRequest.php @@ -1,10 +1,10 @@ user()->can('edit', $this->recurring_invoice); + /** @var \App\Models\User $user */ + $user = auth()->user(); + + return $user->can('edit', $this->recurring_invoice); } public function rules() @@ -41,6 +44,20 @@ class UploadRecurringInvoiceRequest extends Request $rules['file'] = $this->file_validation; } + $rules['is_public'] = 'sometimes|boolean'; + return $rules; } + + public function prepareForValidation() + { + $input = $this->all(); + + if(isset($input['is_public'])) { + $input['is_public'] = $this->toBoolean($input['is_public']); + } + + $this->replace($input); + + } } diff --git a/app/Http/Requests/RecurringQuote/UploadRecurringQuoteRequest.php b/app/Http/Requests/RecurringQuote/UploadRecurringQuoteRequest.php index ee17418bb88f..09de0571bd83 100644 --- a/app/Http/Requests/RecurringQuote/UploadRecurringQuoteRequest.php +++ b/app/Http/Requests/RecurringQuote/UploadRecurringQuoteRequest.php @@ -1,10 +1,10 @@ user()->can('edit', $this->task); + /** @var \App\Models\User $user */ + $user = auth()->user(); + + return $user->can('edit', $this->task); } public function rules() { - $rules = []; - - 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'; - } + $rules = [ + 'documents' => 'bail|sometimes|file|mimes:csv,png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:2000000', + 'is_public' => 'sometimes|boolean', + ]; return $rules; } + + public function prepareForValidation() + { + $input = $this->all(); + + if(isset($input['is_public'])) + $input['is_public'] = $this->toBoolean($input['is_public']); + + $this->replace($input); + } + } diff --git a/app/Http/Requests/Vendor/UploadVendorRequest.php b/app/Http/Requests/Vendor/UploadVendorRequest.php index 6df26684fd6c..a9263fb979be 100644 --- a/app/Http/Requests/Vendor/UploadVendorRequest.php +++ b/app/Http/Requests/Vendor/UploadVendorRequest.php @@ -1,10 +1,10 @@ file_validation; } + $rules['is_public'] = 'sometimes|boolean'; + return $rules; } + + public function prepareForValidation() + { + $input = $this->all(); + + if(isset($input['is_public'])) + $input['is_public'] = $this->toBoolean($input['is_public']); + + $this->replace($input); + } } diff --git a/app/Services/Payment/ApplyNumber.php b/app/Services/Payment/ApplyNumber.php index 76c915204fa5..bed877459065 100644 --- a/app/Services/Payment/ApplyNumber.php +++ b/app/Services/Payment/ApplyNumber.php @@ -2,7 +2,7 @@ /** * Payment Ninja (https://paymentninja.com). * - * @link https://github.com/paymentninja/paymentninja source repository + * @link https://github.com/invoiceninja/invoiceninja source repository * * @copyright Copyright (c) 2022. Payment Ninja LLC (https://paymentninja.com) * diff --git a/app/Services/Payment/PaymentService.php b/app/Services/Payment/PaymentService.php index 9dc72e088258..280a33a1df9f 100644 --- a/app/Services/Payment/PaymentService.php +++ b/app/Services/Payment/PaymentService.php @@ -2,7 +2,7 @@ /** * payment Ninja (https://paymentninja.com). * - * @link https://github.com/paymentninja/paymentninja source repository + * @link https://github.com/invoiceninja/invoiceninja source repository * * @copyright Copyright (c) 2022. payment Ninja LLC (https://paymentninja.com) *