From 5c96820443364de2fe69826ff54583d3dba63554 Mon Sep 17 00:00:00 2001 From: "venkatesh.r" Date: Wed, 5 Mar 2025 12:28:20 +0530 Subject: [PATCH 1/3] FIX_OPEN_FOR_ENROLL_0 ; RV --- app/Controllers/ClientController.php | 4 ++++ app/Models/EmployeeModel.php | 16 +++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/app/Controllers/ClientController.php b/app/Controllers/ClientController.php index 0d7bbcd..eb2bef5 100755 --- a/app/Controllers/ClientController.php +++ b/app/Controllers/ClientController.php @@ -4563,6 +4563,10 @@ class ClientController extends AdminController // $this->loadLayout('tat_report_band_wise_list', $reportData); // $data = $ticketModel->getTATReport(1); + + // $empmodel = new EmployeeModel(); + // $data = $empmodel->getEmployeePolicy(348); + // dd($data); } // ------------------------------------------------------------------------------------------------------- diff --git a/app/Models/EmployeeModel.php b/app/Models/EmployeeModel.php index 73caca1..0826428 100755 --- a/app/Models/EmployeeModel.php +++ b/app/Models/EmployeeModel.php @@ -149,7 +149,21 @@ class EmployeeModel extends Model { return $this->db->table('employee_polices') - ->select(' policy_type.long_name as Policy_Name , client_policy.policy_terms as Policy_Terms, client_policy.client_id as ClientId, client_policy.policy_id as PolicyId,client_policy.id as ClientPolicyId, client_policy.open_for_enrollment as OpenForEnrollment,client_policy.disclaimer,client_policy.policy_type_id , employee_polices.tpa_id as tpa_id , employee_polices.rand_string as rand_string') // Select all columns from both tables + ->select(' + policy_type.long_name as Policy_Name , + client_policy.policy_terms as Policy_Terms, + client_policy.client_id as ClientId, + client_policy.policy_id as PolicyId, + client_policy.id as ClientPolicyId, + CASE + WHEN client_policy.open_for_enrollment IS NULL THEN 0 + ELSE client_policy.open_for_enrollment + END AS OpenForEnrollment, + client_policy.disclaimer, + client_policy.policy_type_id , + employee_polices.tpa_id as tpa_id , + employee_polices.rand_string as rand_string + ', FALSE) // Select all columns from both tables ->join('client_policy', 'client_policy.id = employee_polices.client_policy_id') ->join('policy_type', 'policy_type.id = client_policy.policy_type_id') ->where('client_policy.policy_status', 1) From 122ddacbacee0bf06c425a178d2d359db0e59067 Mon Sep 17 00:00:00 2001 From: Srinivas-Saravanan Date: Fri, 7 Mar 2025 09:52:50 +0530 Subject: [PATCH 2/3] FIX_ROW_DBCLICK_EVENT_ON_LISTING_PAGES --- app/Views/client_list.php | 1 + app/Views/employee_list.php | 18 ++++++++++- app/Views/test_members_list.php | 53 ++++++++++++++------------------- 3 files changed, 41 insertions(+), 31 deletions(-) diff --git a/app/Views/client_list.php b/app/Views/client_list.php index b54817b..f7f8296 100755 --- a/app/Views/client_list.php +++ b/app/Views/client_list.php @@ -202,6 +202,7 @@ table.dataTable thead th { customDropdown.querySelectorAll('.dropdown-item').forEach(item => { item.addEventListener('click', function(e) { + e.preventDefault(); const onclickAttr = this.getAttribute('onclick'); if (onclickAttr) { eval(onclickAttr); diff --git a/app/Views/employee_list.php b/app/Views/employee_list.php index 976e2f6..3a779fb 100755 --- a/app/Views/employee_list.php +++ b/app/Views/employee_list.php @@ -264,8 +264,21 @@ function init() { const customDropdown = document.createElement('div'); customDropdown.className = 'custom-dropdown-menu'; + + // Clone original dropdown items while moving onclick handlers to data attributes + const originalItems = originalDropdown.querySelectorAll('.dropdown-item'); customDropdown.innerHTML = originalDropdown.innerHTML; + // Transfer onclick handlers to data attributes + customDropdown.querySelectorAll('.dropdown-item').forEach((item, index) => { + const originalItem = originalItems[index]; + const originalOnclick = originalItem.getAttribute('onclick'); + if (originalOnclick) { + item.setAttribute('data-onclick', originalOnclick); + item.removeAttribute('onclick'); // Remove original handler + } + }); + return customDropdown; } @@ -287,7 +300,10 @@ function init() { } function handleItemClick(e, item) { - const onclickAttr = item.getAttribute('onclick'); + e.preventDefault(); + + // Execute the stored onclick handler + const onclickAttr = item.getAttribute('data-onclick'); if (onclickAttr) { eval(onclickAttr); } diff --git a/app/Views/test_members_list.php b/app/Views/test_members_list.php index aaaf425..80e0625 100755 --- a/app/Views/test_members_list.php +++ b/app/Views/test_members_list.php @@ -420,17 +420,21 @@ document.addEventListener("DOMContentLoaded", function () { // Create custom dropdown function createCustomDropdown(row) { - // Get the original dropdown items const originalDropdown = row.querySelector('.dropdown-menu'); if (!originalDropdown) return null; - // Create new dropdown with proper background and spacing const customDropdown = document.createElement('div'); customDropdown.className = 'custom-dropdown-menu'; - - // Copy inner content while maintaining icon alignment customDropdown.innerHTML = originalDropdown.innerHTML; - + + // Remove inline onclick handlers and store them in data attributes + const originalItems = originalDropdown.querySelectorAll('.dropdown-item'); + customDropdown.querySelectorAll('.dropdown-item').forEach((item, index) => { + const originalOnclick = originalItems[index].getAttribute('onclick'); + item.removeAttribute('onclick'); // Remove the inline handler + item.setAttribute('data-onclick', originalOnclick); // Store in data attribute + }); + return customDropdown; } @@ -444,45 +448,34 @@ document.addEventListener("DOMContentLoaded", function () { document.body.appendChild(customDropdown); row.addEventListener("click", function(event) { - // Ignore clicks on the first column (td:first-child) - if (event.target.closest('td:first-child')) { - return; - } + // Ignore clicks on the first column + if (event.target.closest('td:first-child')) return; - // Hide any active dropdown - if (activeDropdown) { - activeDropdown.style.display = 'none'; - } + if (activeDropdown) activeDropdown.style.display = 'none'; - // Get click position const rect = event.target.getBoundingClientRect(); - - // Position the dropdown with some offset customDropdown.style.display = 'block'; customDropdown.style.position = 'fixed'; customDropdown.style.left = `${rect.left}px`; - customDropdown.style.top = `${rect.bottom + 5}px`; // Add 5px gap - - // Set as active dropdown + customDropdown.style.top = `${rect.bottom + 5}px`; activeDropdown = customDropdown; event.stopPropagation(); }); - // Preserve click handlers and add auto-close + // Handle custom dropdown clicks customDropdown.querySelectorAll('.dropdown-item').forEach(item => { item.addEventListener('click', function(e) { - const onclickAttr = this.getAttribute('onclick'); - if (onclickAttr) { - eval(onclickAttr); - } + e.preventDefault(); - const href = this.getAttribute('href'); - if (href && href !== '#') { - window.location.href = href; - } + // Execute the original onclick from data attribute + const onclickAttr = this.getAttribute('data-onclick'); + if (onclickAttr) eval(onclickAttr); + + // Handle href navigation + const href = this.getAttribute('href'); + if (href && href !== '#') window.location.href = href; - // Close the dropdown after handling the click if (activeDropdown) { activeDropdown.style.display = 'none'; activeDropdown = null; @@ -493,7 +486,7 @@ document.addEventListener("DOMContentLoaded", function () { }); }); - // Close dropdown when clicking outside + // Close dropdown on outside click document.addEventListener("click", function() { if (activeDropdown) { activeDropdown.style.display = 'none'; From db719a37df11488b4032dd916cedfcf35a71a975 Mon Sep 17 00:00:00 2001 From: Gowtham M Date: Thu, 20 Mar 2025 15:00:00 +0530 Subject: [PATCH 3/3] GWM : Email login issue --- app/Controllers/RestAuthenticationController.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/Controllers/RestAuthenticationController.php b/app/Controllers/RestAuthenticationController.php index 6afa1af..7d32c05 100755 --- a/app/Controllers/RestAuthenticationController.php +++ b/app/Controllers/RestAuthenticationController.php @@ -112,8 +112,9 @@ class RestAuthenticationController extends AdminController public function verifyEmployeeWithEmailId() { try { - $email = $this->request->getJSON()->email; - + $data = $this->request->getJSON(); + + $email = $data->email; $employeeData = $this->employeeModel->select('employees.relationship,EP.employee_id') ->join('employee_polices EP', 'EP.employee_id = employees.id', 'inner') @@ -133,8 +134,11 @@ class RestAuthenticationController extends AdminController $update = $this->employeeModel->where('email_corporate', $email)->where('relationship', 'self') ->where('is_active', 1)->set(array('otp' => $otp )) ->update(); + if($update) { + $data->otp = $otp; + $this->callThirdPartyAPI($data, 'updateEmpOTP'); $common = [ 'client_id' => $employeeData['client_id'],