diff --git a/app/Config/Routes.php b/app/Config/Routes.php index b77e8f5e..e116fcd1 100755 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -404,6 +404,7 @@ $routes->group("rfq", ["filter" => "authMVC"], function ($routes) { $routes->post("create", "LeadsController::createRFQ"); $routes->post("createQCR", "LeadsController::createQCR"); $routes->get("list/(:any)", "LeadsController::viewRFQ/$1"); + $routes->get("nonEB","LeadsController::rfqNonEB"); }); diff --git a/app/Controllers/EmployeeRestController.php b/app/Controllers/EmployeeRestController.php index 5b24dafe..94a28fb6 100755 --- a/app/Controllers/EmployeeRestController.php +++ b/app/Controllers/EmployeeRestController.php @@ -2534,26 +2534,34 @@ class EmployeeRestController extends AdminController - $terms = json_decode($ClientPolicyValue['policy_terms']); + if($ClientPolicyValue['policy_type_id'] == 1) { - $data['policy_terms'] = $this->policyTermsFiter($terms,'gpa'); + $policyGroup = 'gpa'; $data['ticket_type_id'] = 2; }else if($ClientPolicyValue['policy_type_id'] == 6) { - $data['policy_terms'] = $this->policyTermsFiter($terms,'gpa'); + $policyGroup = 'gpa'; $data['ticket_type_id'] = 3; }else if($ClientPolicyValue['policy_type_id'] == 7) { - $data['policy_terms'] = $this->policyTermsFiter($terms,'gpa'); + $policyGroup = 'gpa'; $data['ticket_type_id'] = 4; }else { - $data['policy_terms'] = $this->policyTermsFiter($terms,'gmc'); + $policyGroup = 'gmc'; $data['ticket_type_id'] = 1; } - + + $terms = json_decode($ClientPolicyValue['policy_terms'] , true); + $data['policy_terms'] = isset($terms['enrollment_display_key']) + && !empty($terms['enrollment_display_key']) + ? $terms['enrollment_display_key'] + : $this->policyTermsFiter($terms, $policyGroup); + $terms = json_decode($ClientPolicyValue['policy_terms']); + + $data['client_id'] = $ClientPolicyValue['client_id']; $data['client_policy_id'] = $ClientPolicyValue['id']; $data['policy_name'] = $ClientPolicyValue['policy_type']; diff --git a/app/Controllers/LeadsController.php b/app/Controllers/LeadsController.php index abbc6984..f0f1cc7b 100644 --- a/app/Controllers/LeadsController.php +++ b/app/Controllers/LeadsController.php @@ -2384,6 +2384,11 @@ class LeadsController extends BaseController return $financialYears; } + + public function rfqNonEB(){ + + $this->loadLayout('view_rfq_non_eb'); + } diff --git a/app/Controllers/RestAuthenticationController.php b/app/Controllers/RestAuthenticationController.php index 56c65ff8..752d116c 100755 --- a/app/Controllers/RestAuthenticationController.php +++ b/app/Controllers/RestAuthenticationController.php @@ -71,13 +71,20 @@ class RestAuthenticationController extends AdminController $mobile_number = $this->request->getJSON()->mobile_number; - $employeeData = $this->employeeModel->where('mobile', $mobile_number) - ->where('relationship', 'self') - ->where('emp_status !=', 'truncated') - ->where('is_active', 1) - ->first(); + $employeeData = $this->employeeModel->select('employees.relationship,EP.employee_id') + ->join('employee_polices EP', 'EP.employee_id = employees.id', 'inner') + ->where('employees.is_active', 1) + ->where('employees.relationship', 'self') + ->where('employees.emp_status !=', 'truncated') + ->where('employees.mobile', $mobile_number) + ->where('EP.is_active', 1) + ->whereIn('EP.status', ['active']) + ->first(); + + - if ($employeeData) { + if (isset($employeeData['employee_id'])) + { $result = ['user_verification' => true ,'message' => "Verified Successfully"]; return $this->respond(['status' => 'success','code' => 200,'data' => $result],200); @@ -97,11 +104,18 @@ class RestAuthenticationController extends AdminController $email = $this->request->getJSON()->email; - $employeeData = $this->employeeModel->where('email_corporate', $email)->where('relationship', 'self') - ->where('emp_status !=', 'truncated')->where('is_active', 1) + $employeeData = $this->employeeModel->select('employees.relationship,EP.employee_id') + ->join('employee_polices EP', 'EP.employee_id = employees.id', 'inner') + ->where('employees.is_active', 1) + ->where('employees.relationship', 'self') + ->where('employees.emp_status !=', 'truncated') + ->where('employees.email_corporate', $email) + ->where('EP.is_active', 1) + ->whereIn('EP.status', ['active']) ->first(); - if ($employeeData) { + if (isset($employeeData['employee_id'])) + { $otp = random_int(100000, 999999); diff --git a/app/Views/ticket_form_gmc.php b/app/Views/ticket_form_gmc.php index 0c7a4a75..b23212e9 100644 --- a/app/Views/ticket_form_gmc.php +++ b/app/Views/ticket_form_gmc.php @@ -231,7 +231,7 @@
- + @@ -337,7 +337,7 @@
@@ -565,7 +565,46 @@ } }); - $('.' + thirdClass).find('input, textarea').attr('required', true); + // $('.' + thirdClass).find('input, textarea').attr('required', true); + let extrafieldsArray = $('#extra_fields_array_for_validate').val(); + try { + extrafieldsArray = JSON.parse(extrafieldsArray); // Convert string to object + } catch (error) { + console.error("Invalid JSON format in extra_fields_array_for_validate:", error); + return; + } + + var selectedClaimStatus = $('#claim_status_id').val(); + var $thirdClass = $(`.${thirdClass}`); + var hasValue = $thirdClass.find('input, textarea, select').filter(function () { + return $(this).val().trim() !== ''; // Check if at least one field is not empty + }).length > 0; + + $thirdClass.each(function () { + var id = $(this).find('[id]').first().attr('id'); + var $label = $(this).find('label'); + var $thisDiv = $(this); + var $inputs = $thisDiv.find('input, textarea, select'); + + + // ✅ Condition 1: Check if this ID is in extraFieldsArray (required by status) + var shouldAddRequired = extrafieldsArray[selectedClaimStatus] && extrafieldsArray[selectedClaimStatus].includes(id); + + // ✅ Condition 2: If any field in the class has a value, make all required + if (shouldAddRequired || hasValue) { + if ($label.length && !$label.find('.text-danger').length) { + $label.append(' *'); + } + console.log("input from if ",$inputs); + // $inputs.attr('required', true); + $('.' + thirdClass).find('input, textarea,select').attr('required', true); + } else { + $label.find('.text-danger').remove(); + console.log("input ",$inputs); + // $inputs.prop('required', false); + $('.' + thirdClass).find('input, textarea,select').attr('required', false); + } + }); } @@ -587,7 +626,7 @@ if ($parentDiv.length) { let thirdClass = $parentDiv.attr("class").split(" ")[2] || ""; console.log('thirdClass', thirdClass); - addRequiredFieldSymbolByClass(thirdClass); + // addRequiredFieldSymbolByClass(thirdClass); // addRequiredFieldSymbol(targetId); if (thirdClass) { // console.log("fields",fields); @@ -608,64 +647,97 @@ } }); -function addRequiredFieldSymbol(field_name) { - // Find the field with the given name - var $field = $(`[name="${field_name}"]`); +// function addRequiredFieldSymbol(field_name) { +// // Find the field with the given name +// var $field = $(`[name="${field_name}"]`); - if ($field.length) { - // Find the parent div of this field - var $parentDiv = $field.closest('div'); +// if ($field.length) { +// // Find the parent div of this field +// var $parentDiv = $field.closest('div'); - if ($parentDiv.length) { - // Get the classes as an array - var classes = $parentDiv.attr('class') ? $parentDiv.attr('class').split(/\s+/) : []; +// if ($parentDiv.length) { +// // Get the classes as an array +// var classes = $parentDiv.attr('class') ? $parentDiv.attr('class').split(/\s+/) : []; - if (classes.length > 0) { - // Get the last class in the array - var lastClass = classes[classes.length - 1]; +// if (classes.length > 0) { +// // Get the last class in the array +// var lastClass = classes[classes.length - 1]; - // Find all divs with this last class - var $allDivsWithClass = $(`.${lastClass}`); +// // Find all divs with this last class +// var $allDivsWithClass = $(`.${lastClass}`); - // Add asterisk to all labels within these divs - $allDivsWithClass.each(function() { - var $label = $(this).find('label'); - if ($label.length && !$label.find('.text-danger').length) { - $label.append(' *'); - } - }); +// // Add asterisk to all labels within these divs +// $allDivsWithClass.each(function() { +// var $label = $(this).find('label'); +// if ($label.length && !$label.find('.text-danger').length) { +// $label.append(' *'); +// } +// }); - console.log(`Added required symbol to ${$allDivsWithClass.length} labels with class "${lastClass}"`); - } else { - console.warn(`Parent div for field "${field_name}" has no classes`); - } - } else { - console.warn(`No parent div found for field name="${field_name}"`); - } - } else { - console.warn(`No field found with name="${field_name}"`); - } -} +// console.log(`Added required symbol to ${$allDivsWithClass.length} labels with class "${lastClass}"`); +// } else { +// console.warn(`Parent div for field "${field_name}" has no classes`); +// } +// } else { +// console.warn(`No parent div found for field name="${field_name}"`); +// } +// } else { +// console.warn(`No field found with name="${field_name}"`); +// } +// } function addRequiredFieldSymbolByClass(className) { - // Find all divs with the specified class var $divsWithClass = $(`.${className}`); - + if ($divsWithClass.length) { - // Add asterisk to all labels within these divs - $divsWithClass.each(function() { - var $label = $(this).find('label'); - if ($label.length && !$label.find('.text-danger').length) { - $label.append(' *'); - } - }); - - console.log(`Added required symbol to ${$divsWithClass.length} labels with class "${className}"`); + let extrafieldsArray = $('#extra_fields_array_for_validate').val(); + try { + extrafieldsArray = JSON.parse(extrafieldsArray); // Convert string to object + } catch (error) { + console.error("Invalid JSON format in extra_fields_array_for_validate:", error); + return; + } + + var selectedClaimStatus = $('#claim_status_id').val(); + console.log("Selected claim status ID:", selectedClaimStatus); + console.log("Extra Field Array:", extrafieldsArray[selectedClaimStatus]); + + // ✅ Check if at least one field inside the class has a value + // var hasValue = $divsWithClass.find('input, textarea, select').filter(function () { + // return $(this).val().trim() !== ''; // Check if at least one field is not empty + // }).length > 0; + + // $divsWithClass.each(function () { + // var id = $(this).find('[id]').first().attr('id'); + // var $label = $(this).find('label'); + // var $thisDiv = $(this); + // var $inputs = $thisDiv.find('input, textarea, select'); + + + // // ✅ Condition 1: Check if this ID is in extraFieldsArray (required by status) + // var shouldAddRequired = extrafieldsArray[selectedClaimStatus] && extrafieldsArray[selectedClaimStatus].includes(id); + + // // ✅ Condition 2: If any field in the class has a value, make all required + // if (shouldAddRequired || hasValue) { + // if ($label.length && !$label.find('.text-danger').length) { + // $label.append(' *'); + // } + // console.log("input from if ",$inputs); + // $inputs.attr('required', true); + // } else { + // $label.find('.text-danger').remove(); + // console.log("input ",$inputs); + // $inputs.prop('required', false); + // } + // }); + + console.log(`Processed ${$divsWithClass.length} labels with class "${className}"`); } else { console.warn(`No divs found with class="${className}"`); } } + $('#mode_of_intimation').change(function(){ console.log("function called"); var mode_of_intimation = $('#mode_of_intimation').val(); diff --git a/app/Views/view_rfq.php b/app/Views/view_rfq.php index e3ca071d..9d619d2a 100644 --- a/app/Views/view_rfq.php +++ b/app/Views/view_rfq.php @@ -5666,7 +5666,7 @@ function autoCaluculationForPremiumChildTable(input) { .qcr === 0); if (actionData) first_json.table_data.data.splice(rowKey, 1); }); - + console.log("Modified JSON:", first_json); return first_json; } diff --git a/app/Views/view_rfq_non_eb.php b/app/Views/view_rfq_non_eb.php new file mode 100644 index 00000000..13ba40c8 --- /dev/null +++ b/app/Views/view_rfq_non_eb.php @@ -0,0 +1,1905 @@ + +
+
+
+ +
+
+

+
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+ + \ No newline at end of file