ACCESS DENIED
++ = isset($message) && !empty($message) ? $message : "You don't have permission to access this page." ?> +
+ Go Back +diff --git a/app/Controllers/ClientController.php b/app/Controllers/ClientController.php index b5d1706c..5ec861eb 100755 --- a/app/Controllers/ClientController.php +++ b/app/Controllers/ClientController.php @@ -145,6 +145,7 @@ class ClientController extends AdminController private const ALLOWED_DUPLICATE_CHECK_TABLES = [ 'clients', 'client_branch', 'level_contacts', 'insurers', 'insurer_branch', 'tpa', 'tpa_branch', 'policies', 'client_policy', 'user_profiles', + 'policy_transaction', ]; public function checkDuplicateTableFieldValue() @@ -903,7 +904,7 @@ class ClientController extends AdminController { $this->myLogger->logme('error', 'Edit Client Onboarding function called'); - $headerData['tab_name'] = 'Edit Client Onboarding'; + $headerData['tab_name'] = 'Clients'; $headerData['page_name'] = 'Clients'; $editData['RM'] = $this->userModel->where('is_active', 1)->findAll(); @@ -5873,6 +5874,7 @@ class ClientController extends AdminController $policyListByClient = []; $unitList = []; $insurerBranchList = []; + $policyCount = []; //for client branch mapping to the client foreach ($branches as $branch) { @@ -5901,20 +5903,30 @@ class ClientController extends AdminController $client['client_policy_count'] = $policyCount[$client['id']] ?? 0; } - if (!empty($branchList)) { + if (!empty($clients)) { return $this->respond([ 'status' => true, 'client_data' => $clients, 'vehicle_data' => $vehicles, - 'branch_data' => $branchList, - 'policy_data' => $policyList, - 'policyListByClient' => $policyListByClient, + 'branch_data' => $branchList ?? [], + 'policy_data' => $policyList ?? [], + 'policyListByClient' => $policyListByClient ?? [], 'insurer_data' => $insurers, - 'insurer_branch_data' => $insurerBranchList, - 'unit_data' => $unitList, + 'insurer_branch_data' => $insurerBranchList ?? [], + 'unit_data' => $unitList ?? [], ], 200); } else { - return $this->respond(['status' => false], 200); + return $this->respond([ + 'status' => false, + 'client_data' => [], + 'vehicle_data' => [], + 'branch_data' => [], + 'policy_data' => [], + 'policyListByClient' => [], + 'insurer_data' => [], + 'insurer_branch_data' => [], + 'unit_data' => [], + ], 200); } } diff --git a/app/Controllers/PolicyTransactionController.php b/app/Controllers/PolicyTransactionController.php index da5c0612..a2ff2325 100644 --- a/app/Controllers/PolicyTransactionController.php +++ b/app/Controllers/PolicyTransactionController.php @@ -2318,7 +2318,7 @@ class PolicyTransactionController extends BaseController $policy_type_id = (!isset($policy_type_id) || $policy_type_id === '' || $policy_type_id === null) ? 0 : $policy_type_id; $date_type = (!isset($date_type) || $date_type === '' || $date_type === null) ? 0 : $date_type; $issuer = (!isset($issuer) || $issuer === '' || $issuer === null) ? 0 : $issuer; - $status = (!isset($issuer) || $status === '' || $status === null) ? 0 : $status; + $status = (!isset($status) || $status === '' || $status === null) ? 0 : $status; if($bds_edit_pt_id == null){ $data['endorsement_data_list'] = $this->policyTransactionModel->getEndorsementTranctionListData($start_date, $end_date, $client_id, $insurer_id, $policy_type_id, $date_type, $issuer, $status); @@ -2412,7 +2412,7 @@ class PolicyTransactionController extends BaseController $policy_type_id = (!isset($policy_type_id) || $policy_type_id === '' || $policy_type_id === null) ? 0 : $policy_type_id; $date_type = (!isset($date_type) || $date_type === '' || $date_type === null) ? 0 : $date_type; $issuer = (!isset($issuer) || $issuer === '' || $issuer === null) ? 0 : $issuer; - $status = (!isset($issuer) || $status === '' || $status === null) ? 0 : $status; + $status = (!isset($status) || $status === '' || $status === null) ? 0 : $status; if($bds_edit_pt_id == null){ $data['endorsement_data_list'] = $this->policyTransactionModel->getEndorsementTranctionListData($start_date, $end_date, $client_id, $insurer_id, $policy_type_id, $date_type, $issuer, $status); @@ -5102,9 +5102,20 @@ class PolicyTransactionController extends BaseController // ->where('client_policy.is_active', 1) // ->findAll(); + // Only columns needed for policy_transaction_endorsement_list appendPolicies() JSON — not policy_transaction.* + // (full rows + json_encode duplicated memory and exceeded PHP memory_limit on large datasets). $policies = $this->policyTransactionModel ->select(" - policy_transaction.*, + policy_transaction.id, + policy_transaction.client_id, + policy_transaction.client_branch_id, + policy_transaction.policy_no, + policy_transaction.policy_type_id, + policy_transaction.insurer_id, + policy_transaction.insurer_branch_id, + policy_transaction.tpa_id, + policy_transaction.tpa_branch_id, + policy_transaction.cd_ac_no, policy_type.policy_type, policy_type.ebp, policy_type.etp, @@ -5124,11 +5135,6 @@ class PolicyTransactionController extends BaseController foreach ($policies as $policy) { $policyList[$policy['client_branch_id']][] = $policy; $policyListByClient[$policy['client_id']][] = $policy; - if (isset($policyCount[$policy['client_id']])) { - $policyCount[$policy['client_id']]++; - } else { - $policyCount[$policy['client_id']] = 1; - } } return [$policyList, $policyListByClient]; diff --git a/app/Controllers/RuleImportController.php b/app/Controllers/RuleImportController.php index 3a6c53e4..9eb95d35 100644 --- a/app/Controllers/RuleImportController.php +++ b/app/Controllers/RuleImportController.php @@ -759,6 +759,7 @@ class RuleImportController extends AdminController public function ruleList($id) { + $data['tab_name'] = "Rule Manager"; $data['page_name'] = "Rule Manager"; $data['departments'] = $this->departments; $data['commission_file_id'] = $id; diff --git a/app/Views/DashBoard.php b/app/Views/DashBoard.php index d09b90c7..5e2b1ee1 100755 --- a/app/Views/DashBoard.php +++ b/app/Views/DashBoard.php @@ -170,7 +170,7 @@ #client_add .tab-content-styles{ background-color:#F4F4F4; margin-right:20px; - margin-top:0px !important; + margin-top:12px !important; /** margin-top:0px !important; */ border-radius:25px!important; min-height: 70vh !important; } diff --git a/app/Views/batch_list.php b/app/Views/batch_list.php index 29afb9f5..686b617e 100755 --- a/app/Views/batch_list.php +++ b/app/Views/batch_list.php @@ -67,28 +67,54 @@ padding: 4px 12px; font-size: 12px; } + +/* Keep DataTable controls aligned like reference UI */ +#tpa_variation_modal .dataTables_wrapper .dt-top { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 6px; +} + +#tpa_variation_modal .dataTables_wrapper .dt-bottom { + display: flex; + justify-content: flex-end; + align-items: center; + margin-top: 6px; +} + +#tpa_variation_modal .dataTables_wrapper .dt-top .dataTables_length, +#tpa_variation_modal .dataTables_wrapper .dt-top .dataTables_filter, +#tpa_variation_modal .dataTables_wrapper .dt-bottom .dataTables_paginate { + float: none; + margin: 0; +} + +#tpa_variation_modal .dataTables_wrapper .dt-top .dataTables_filter { + text-align: right; +} /* Compact table + buttons (NHance) */ -#datatable-buttons thead th, -#datatable-buttons tbody td { +#tickets-table thead th, +#tickets-table tbody td { padding: 5px 11px !important; font-size: 13px; line-height: 1.25; } /* Action dropdown toggle in rows */ -#datatable-buttons .dropdown-toggle.btn-sm { +#tickets-table .dropdown-toggle.btn-sm { padding: 4px 9px !important; font-size: 13px; line-height: 1.2; } /* DataTables toolbar buttons (Export/Filter/Clear Filter) */ -#datatable-buttons_wrapper .dt-buttons .btn { +#tickets-table_wrapper .dt-buttons .btn { padding: 6px 13px !important; font-size: 13px; } -#datatable-buttons_wrapper .dt-buttons .btn .btn-custom { +#tickets-table_wrapper .dt-buttons .btn .btn-custom { font-size: 13px; } @@ -104,10 +130,10 @@
| S.No | +S.No | Batch Code | File Name | Client | @@ -496,9 +522,8 @@ renderVariationTable('#not_in_tpa_table', notInTpa, tpaVariationColumns.not_in_tpa); renderVariationTable('#need_to_review_table', reviewData, tpaVariationColumns.need_to_review); - initVariationDataTable('#not_in_nhance_table'); - initVariationDataTable('#not_in_tpa_table'); - initVariationDataTable('#need_to_review_table'); + const activeId = $('#tpaVariationTabs .nav-link.active').attr('id') || 'not-in-nhance-tab'; + adjustVariationTableByTabId(activeId); } function showTPAVariationModal() { @@ -513,18 +538,85 @@ updateTPAProceedButton($activeTab.attr('id')); } - function initVariationDataTable(tableSelector) { - const $table = $(tableSelector); - - $table.DataTable({ + function getVariationDataTableConfig() { + return { + dom: "<'dt-top'lf>" + + "rt" + + "<'dt-bottom'p>", pageLength: 20, lengthMenu: [[10, 20, 50, 100], [10, 20, 50, 100]], searching: true, paging: true, ordering: false, - info: true, - autoWidth: false + info: false, + autoWidth: false, + language: { + search: ` +
|---|