From 6234177cd49be8121074954daad891b3aaf10605 Mon Sep 17 00:00:00 2001 From: "venkatesh.r" Date: Fri, 13 Feb 2026 17:41:11 +0530 Subject: [PATCH] FIX_ISSUE_PT_FILE_UPLOAD --- .../PolicyTransactionController.php | 20 ++++++++++++ app/Views/drive_file_upload.php | 31 +++++++++++++++++-- app/Views/leads_form_handler.php | 6 ++-- 3 files changed, 52 insertions(+), 5 deletions(-) diff --git a/app/Controllers/PolicyTransactionController.php b/app/Controllers/PolicyTransactionController.php index c122e7ae..838c646e 100644 --- a/app/Controllers/PolicyTransactionController.php +++ b/app/Controllers/PolicyTransactionController.php @@ -3337,6 +3337,26 @@ class PolicyTransactionController extends BaseController $docs_name = $this->request->getPost('doc_name'); $pt_id = $this->request->getPost('pt_id'); $client_policy_id = $this->request->getPost('client_policy_id'); + + $rules = [ + 'doc_name.*' => [ + 'label' => 'Policy Document Name', + 'rules' => 'permit_empty|required|regex_match[/^[a-zA-Z0-9 _-]+$/]|min_length[2]|max_length[100]', + 'errors' => [ + 'required' => "Policy Document Name is required", + 'regex_match' => 'The {field} can only contain letters, numbers, spaces, dashes, and underscores.' + ] + ], + ]; + + if (!$this->validate($rules)) { + return $this->response->setStatusCode(400)->setJSON([ + 'status' => false, + 'message' => 'Input validation failed', + 'code' => 400, + 'errors' => $this->validator->getErrors() + ]); + } } $uploadFilePath = WRITEPATH . 'uploads/client_kyc_documents'; diff --git a/app/Views/drive_file_upload.php b/app/Views/drive_file_upload.php index c7759622..33f2a6db 100644 --- a/app/Views/drive_file_upload.php +++ b/app/Views/drive_file_upload.php @@ -108,11 +108,36 @@ $("#drive_file_upload_form").submit(function(event) { $('#drive_file_upload_form')[0].reset(); }, - error: function (xhr, status, error) { - console.error(xhr.responseText); - console.error(status, error); + error:function (xhr) { + + if (xhr.status === 400) { + let response = JSON.parse(xhr.responseText); + let errorMessages = ""; + let seenMessages = []; // Array to store unique messages + if (response.errors) { + $.each(response.errors, function (field, message) { + if (!seenMessages.includes(message)) { + errorMessages += `• ${message}
`; + seenMessages.push(message); // Mark this message as "seen" + } + }); + toastr.error(errorMessages, 'Validation Error', { "allowHtml": true }); + } else { + toastr.warning(response.message || 'Validation failed', 'Warning'); + } + + } else if (xhr.status === 403) { + let response = JSON.parse(xhr.responseText); + toastr.error(response.message, 'Security Policy'); + } else if (xhr.status === 500) { + toastr.error('Something went wrong . Please try again later.', 'Server Error'); + } else { + toastr.error('An unexpected error occurred. Please try again later.', 'Error'); + } + $('.loader').fadeOut(); $('.loader-mask').delay(350).fadeOut('slow'); + } }); }); diff --git a/app/Views/leads_form_handler.php b/app/Views/leads_form_handler.php index 2773b0e2..6677520d 100644 --- a/app/Views/leads_form_handler.php +++ b/app/Views/leads_form_handler.php @@ -573,7 +573,8 @@ if (isset($selected_lead_type)) {
- +
+ PDF | Excel (XLSX, XLS) | Images (PNG, JPG)
@@ -638,7 +639,8 @@ if (isset($selected_lead_type)) {
- +
+ PDF | Excel (XLSX, XLS) | Images (PNG, JPG)