diff --git a/README.md b/README.md index b56458c2..0a4cf0dd 100755 --- a/README.md +++ b/README.md @@ -9,3 +9,5 @@ From command propmt run the following cmds Run speeific method `php vendor/bin/phpunit tests\unit\PremiumCalculationTest.php --filter testPremiumCalculationWithPrimaryRackRateAndAdditionalRackRate` + +Test Comments \ No newline at end of file diff --git a/app/Config/Constants.php b/app/Config/Constants.php index fb86b921..eee4bdcd 100755 --- a/app/Config/Constants.php +++ b/app/Config/Constants.php @@ -103,6 +103,8 @@ define('BUSINESS_TEAM_ID', '3'); define('FINANCE_TEAM_ID', '4'); define('SALES_TEAM_ID', '5'); define('MANAGEMENT_TEAM_ID', '6'); +define('BUSINESS_SUPPORT_TEAM_ID', '7'); +define('POS_TEAM_ID', '8'); /** * @User Teams Constant diff --git a/app/Controllers/ClientController.php b/app/Controllers/ClientController.php index fb78c67b..4ca4505d 100755 --- a/app/Controllers/ClientController.php +++ b/app/Controllers/ClientController.php @@ -594,7 +594,7 @@ class ClientController extends AdminController $data['insurer'] = $this->insurerBranchModel->getInsurerBranchesWithInsurerNames(); $data['tpa'] = $this->tpaBranchModel->getTpaBranchesWithTpaNames(); $data['state'] = $this->stateModel->getAllStates(); - $data['RM'] = $this->userModel->findAll(); + $data['RM'] = $this->userModel->where('is_active', 1)->findAll(); $data['policyGridData'] = $this->policyGridModel->findAll(); $data['policy_types'] = $this->policyTypeModel->findAll(); $data['policy_type'] = ['1' => 'Base Policy', '2' => 'SI Topup', '3' => 'Dependent Addon']; @@ -717,7 +717,7 @@ class ClientController extends AdminController $this->myLogger->logme('error', 'Edit Client Onboarding function called'); $headerData['page_name'] = 'Edit Client Onboarding'; - $editData['RM'] = $this->userModel->findAll(); + $editData['RM'] = $this->userModel->where('is_active', 1)->findAll(); $editData['tpa'] = $this->tpaBranchModel->getTpaBranchesWithTpaNames(); $editData['state'] = $this->stateModel->getAllStates(); $editData['police'] = $this->policesModel->findAll(); diff --git a/app/Controllers/DashboardController.php b/app/Controllers/DashboardController.php index d1a48afb..f4eb8d34 100755 --- a/app/Controllers/DashboardController.php +++ b/app/Controllers/DashboardController.php @@ -100,8 +100,10 @@ class DashboardController extends AdminController $data = []; - $db = db_connect(); - $sql = "SELECT + if (in_array(get_role_id(), [1,2,3,5]) || (in_array(MANAGEMENT_TEAM_ID, user_team()) || in_array(FINANCE_TEAM_ID, user_team()) || in_array(BUSINESS_TEAM_ID, user_team()))) { + + $db = db_connect(); + $sql = "SELECT clients.id AS client_id, clients.client_name, clients.short_name, @@ -144,30 +146,32 @@ class DashboardController extends AdminController GROUP BY clients.id, client_branch.id"; - $query = $db->query($sql); - $results = $query->getResultArray(); + $query = $db->query($sql); + $results = $query->getResultArray(); - $pendingActionsController = new PendingActionsController; - $pendingActionsData = $pendingActionsController->getPendingActionsForDashBoard(); - $businessTeamData = $this->policyTransactionModel->getBusinessReportList(); - $financeTeamData = $this->policyTransactionModel->getFinanceReportList(); - $businessTeamStatusData = $this->data_construct_for_bds($businessTeamData); - $financeTeamStatusData = $this->data_construct_for_bds($financeTeamData); + $pendingActionsController = new PendingActionsController; + $pendingActionsData = $pendingActionsController->getPendingActionsForDashBoard(); + $businessTeamData = $this->policyTransactionModel->getBusinessReportList(); + $financeTeamData = $this->policyTransactionModel->getFinanceReportList(); + $businessTeamStatusData = $this->data_construct_for_bds($businessTeamData); + $financeTeamStatusData = $this->data_construct_for_bds($financeTeamData); - $data['client_branch_emp_list'] = $results; - $session = \Config\Services::session(); - $session->set('enrollment_data', json_encode($data)); - - // echo "
";
- $data['pendingActionsData'] = $pendingActionsData;
- $data['businessTeamCount'] = count($businessTeamData) ?? 0;
- $data['financeTeamCount'] = count($financeTeamData) ?? 0;
- $data['businessTeamStatusData'] = $businessTeamStatusData;
- $data['financeTeamStatusData'] = $financeTeamStatusData;
- $data['policyStatus'] = $this->policyStatus;
- $data['colorShades'] = $this->colorShades;
- // print_r($data);die;
+ $data['client_branch_emp_list'] = $results;
+ $session = \Config\Services::session();
+ $session->set('enrollment_data', json_encode($data));
+
+ // echo "";
+ $data['pendingActionsData'] = $pendingActionsData;
+ $data['businessTeamCount'] = count($businessTeamData) ?? 0;
+ $data['financeTeamCount'] = count($financeTeamData) ?? 0;
+ $data['businessTeamStatusData'] = $businessTeamStatusData;
+ $data['financeTeamStatusData'] = $financeTeamStatusData;
+ $data['policyStatus'] = $this->policyStatus;
+ $data['colorShades'] = $this->colorShades;
+ // print_r($data);die;
+
+ }
$data['page_name'] = 'Dashboard';
diff --git a/app/Controllers/EmployeeRestController.php b/app/Controllers/EmployeeRestController.php
index f46fc522..2d7bf436 100755
--- a/app/Controllers/EmployeeRestController.php
+++ b/app/Controllers/EmployeeRestController.php
@@ -2532,10 +2532,6 @@ class EmployeeRestController extends AdminController
$result = [];
foreach ($ClientPolicyData as $key => $ClientPolicyValue) {
-
-
-
-
if($ClientPolicyValue['policy_type_id'] == 1)
{
$policyGroup = 'gpa';
@@ -2555,11 +2551,7 @@ class EmployeeRestController extends AdminController
}
$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['policy_terms'] = isset($terms['enrollment_display_key']) && !empty($terms['enrollment_display_key']) ? $terms['enrollment_display_key'] : $this->policyTermsFiter($terms, $policyGroup);
$data['client_id'] = $ClientPolicyValue['client_id'];
diff --git a/app/Controllers/LeadsController.php b/app/Controllers/LeadsController.php
index 2c01c428..f6f1eaa9 100644
--- a/app/Controllers/LeadsController.php
+++ b/app/Controllers/LeadsController.php
@@ -629,10 +629,15 @@ class LeadsController extends BaseController
public function createRFQ()
{
$data = $this->request->getPost();
- $lead_id = $data['lead_id'];
+ $lead_id = $data['lead_id'] ?? null;
+
+ if (!$lead_id) {
+ return $this->respond(['status' => false, 'message' => 'Lead ID is required'], 400);
+ }
+
$data['type'] = 1;
- // Deactivate previous RFQs
+ // Deactivate existing RFQs for this lead and type
$this->RFQModel
->where('lead_id', $lead_id)
->where('type', 1)
@@ -640,31 +645,40 @@ class LeadsController extends BaseController
->set('is_active', 0)
->update();
- $registrationJson = $data['registration_json'] ?? null;
-
- if (!$registrationJson) {
- // Fetch latest registration_json from database
- $registrationJson = $this->RFQModel->select('registration_json')
- ->where("lead_id", $lead_id)
+ // Handle registration_json
+ if (empty($data['registration_json'])) {
+ // Fetch the latest registration_json if not provided
+ $latest = $this->RFQModel
+ ->select('registration_json')
+ ->where('lead_id', $lead_id)
->orderBy('id', 'DESC')
- ->limit(1)
- ->get()
- ->getRow('registration_json');
- }
+ ->first();
- if ($registrationJson) {
- $data['registration_json'] = $registrationJson;
+ if (!empty($latest['registration_json'])) {
+ $data['registration_json'] = $latest['registration_json'];
+ }
}
// Insert new RFQ
- $result = $this->RFQModel->insert($data);
+ $insertId = $this->RFQModel->insert($data);
- if ($result) {
- $message = ($data['submit_type'] == 'QCR') ? "QCR submitted successfully" : "RFQ submitted successfully";
- return $this->respond(['status' => true, 'id' => $result, 'message' => $message, 'data' => $data], 200);
+ if ($insertId) {
+ $message = ($data['submit_type'] ?? '') == 'QCR' ? 'QCR submitted successfully' : 'RFQ submitted successfully';
+ return $this->respond([
+ 'status' => true,
+ 'id' => $insertId,
+ 'message' => $message,
+ 'data' => $data
+ ], 200);
}
- return $this->respond(['status' => false, 'message' => "Failed to create RFQ", 'data' => $data], 200);
+ $message = ($data['submit_type'] ?? '') == 'QCR' ? 'Failed to create QCR' : 'Failed to create RFQ';
+ return $this->respond([
+ 'status' => false,
+ 'id' => null,
+ 'message' => $message,
+ 'data' => $data
+ ], 200);
}
@@ -2565,15 +2579,19 @@ class LeadsController extends BaseController
public function constructNonEbExcelToSaveTemp($lead_id, $type, $propsal_and_insurer = null)
{
-
$rfq_data = $this->RFQModel->getRFQTableDataWithLeadIDAndType($lead_id, $type);
-
$lead_data = json_decode($rfq_data['custom_fields'], true) ?? [];
if (!is_array($lead_data)) {
$lead_data = [];
}
$lead_data = array_merge(['Insured' => $rfq_data['client_name']], $lead_data);
+ $policy_registration_data = [];
+ if(isset($rfq_data['registration_json']) && !empty($rfq_data['registration_json'])){
+ $policy_registration_data = json_decode($rfq_data['registration_json'], true);
+ }
+ // dd($policy_registration_data);
+
// if(!empty($rfq_data['fin_years_claims'])){
// $claim_details = json_decode($rfq_data['fin_years_claims'], true) ?? [];
// if(!empty($claim_details['finyear'])){
diff --git a/app/Controllers/PolicyTransactionController.php b/app/Controllers/PolicyTransactionController.php
index 4a2a59d6..2c40bd30 100644
--- a/app/Controllers/PolicyTransactionController.php
+++ b/app/Controllers/PolicyTransactionController.php
@@ -790,13 +790,24 @@ class PolicyTransactionController extends BaseController
->whereIn('client_policy.policy_type_id', [2, 3])
->where('client_policy.is_active', 1)
->findAll();
-
- $data['pt_files'] = $this->PTFileModel
- ->join('policy_transaction', 'pt_files.pt_id = policy_transaction.id')
- ->where('pt_files.pt_id', $id)
- ->where('pt_files.is_active', 1)
- ->findAll();
-
+
+
+ $ptFileQuery = $this->PTFileModel
+ ->join('policy_transaction', 'pt_files.pt_id = policy_transaction.id')
+ ->where('pt_files.pt_id', $id)
+ ->where('pt_files.is_active', 1);
+
+ if (!in_array(get_role_id(), [1, 5]) && empty(array_intersect(user_team(), [MANAGEMENT_TEAM_ID, FINANCE_TEAM_ID, BUSINESS_TEAM_ID]))) {
+
+ if (get_role_id() == 4 && in_array(POS_TEAM_ID, user_team())) {
+ $ptFileQuery->where('pt_files.created_by', get_session_userid());
+ }
+ }
+
+ $data['pt_files'] = $ptFileQuery->findAll();
+
+
+
$data['pt_co_share_details'] = $this->PTCOShareDetailsModel
->select("
pt_co_share_details.*,
@@ -1501,11 +1512,19 @@ class PolicyTransactionController extends BaseController
if (!empty($uploadData)) {
- $data['pt_files'] = $this->PTFileModel
- ->join('policy_transaction', 'pt_files.pt_id = policy_transaction.id')
- ->where('pt_files.pt_id', $pt_id)
- ->where('pt_files.is_active', 1)
- ->findAll();
+ $ptFileQuery = $this->PTFileModel
+ ->join('policy_transaction', 'pt_files.pt_id = policy_transaction.id')
+ ->where('pt_files.pt_id', $pt_id)
+ ->where('pt_files.is_active', 1);
+
+ if (!in_array(get_role_id(), [1, 5]) && empty(array_intersect(user_team(), [MANAGEMENT_TEAM_ID, FINANCE_TEAM_ID, BUSINESS_TEAM_ID]))) {
+
+ if (get_role_id() == 4 && in_array(POS_TEAM_ID, user_team())) {
+ $ptFileQuery->where('pt_files.created_by', get_session_userid());
+ }
+ }
+
+ $data['pt_files'] = $ptFileQuery->findAll();
return $this->respond(['status' => true, 'message' => 'File uploaded successfully in G-Drive', 'data' => $data]);
} else {
diff --git a/app/Controllers/RestAuthenticationController.php b/app/Controllers/RestAuthenticationController.php
index 3d141b2b..27114883 100755
--- a/app/Controllers/RestAuthenticationController.php
+++ b/app/Controllers/RestAuthenticationController.php
@@ -118,7 +118,7 @@ class RestAuthenticationController extends AdminController
->where('employees.emp_status !=', 'truncated')
->where('employees.email_corporate', $email)
->where('EP.is_active', 1)
- ->whereIn('EP.status', ['draft', 'enrolled'])
+ ->whereIn('EP.status', ['active'])
->first();
if (isset($employeeData['employee_id'])) {
diff --git a/app/Models/PolicyTransactionModel.php b/app/Models/PolicyTransactionModel.php
index 136529d6..2a77d201 100644
--- a/app/Models/PolicyTransactionModel.php
+++ b/app/Models/PolicyTransactionModel.php
@@ -973,6 +973,19 @@ class PolicyTransactionModel extends Model
->where('policy_transaction.is_active', 1)
->where('policy_transaction.action_type', 'inception');
+ if (
+ (!in_array(get_role_id(), [1, 5])) &&
+ !(
+ in_array(MANAGEMENT_TEAM_ID, user_team()) ||
+ in_array(FINANCE_TEAM_ID, user_team()) ||
+ in_array(BUSINESS_TEAM_ID, user_team())
+ )
+ ) {
+ if (get_role_id() == 4 && in_array(POS_TEAM_ID, user_team())) {
+ $builder->where('policy_transaction.created_by', get_session_userid());
+ }
+ }
+
// Optimize Date Filtering
if (!empty($start_date) && !empty($end_date) && !empty($date_type)) {
$builder->where("policy_transaction.$date_type >=", date('Y-m-d 00:00:00', strtotime($start_date)))
@@ -1034,6 +1047,19 @@ class PolicyTransactionModel extends Model
->where('policy_transaction.is_active', 1)
->where('policy_transaction.action_type !=', 'inception');
+ if (
+ (!in_array(get_role_id(), [1, 5])) &&
+ !(
+ in_array(MANAGEMENT_TEAM_ID, user_team()) ||
+ in_array(FINANCE_TEAM_ID, user_team()) ||
+ in_array(BUSINESS_TEAM_ID, user_team())
+ )
+ ) {
+ if (get_role_id() == 4 && in_array(POS_TEAM_ID, user_team())) {
+ $builder->where('policy_transaction.created_by', get_session_userid());
+ }
+ }
+
if ($start_date != 0 && $end_date != 0 && $date_type != 0) {
diff --git a/app/Models/RFQModel.php b/app/Models/RFQModel.php
index 24d18529..4ffbf9d4 100644
--- a/app/Models/RFQModel.php
+++ b/app/Models/RFQModel.php
@@ -68,6 +68,7 @@ class RFQModel extends Model
tpa_branch.branch_name as tpa_branch_name,
policy_type.policy_type,
rfq.json,
+ rfq.registration_json
')
->join('leads', 'rfq.lead_id = leads.id')
->join('policy_type', 'leads.policy_type_id = policy_type.id')
diff --git a/app/Views/DashBoard.php b/app/Views/DashBoard.php
index 4da6b9c0..3102ab15 100755
--- a/app/Views/DashBoard.php
+++ b/app/Views/DashBoard.php
@@ -139,40 +139,41 @@
+
@@ -188,21 +189,25 @@ body {
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/Views/bds_dash.php b/app/Views/bds_dash.php
index 89a92413..c6711ec9 100644
--- a/app/Views/bds_dash.php
+++ b/app/Views/bds_dash.php
@@ -125,7 +125,12 @@ body{
}
-
+
+
+
+
+
+
-
+
+
-
-
-
-
-
-
-
-
+
diff --git a/app/Views/view_rfq.php b/app/Views/view_rfq.php
index 21248ced..3922cdf6 100644
--- a/app/Views/view_rfq.php
+++ b/app/Views/view_rfq.php
@@ -225,7 +225,9 @@
-
+
+
+
Export Excel
diff --git a/app/Views/view_rfq_non_eb.php b/app/Views/view_rfq_non_eb.php
index 65a4d695..bea3553e 100644
--- a/app/Views/view_rfq_non_eb.php
+++ b/app/Views/view_rfq_non_eb.php
@@ -258,7 +258,9 @@
-
+
+
+
Export Excel
@@ -2250,10 +2252,13 @@
function saveRFQTODB(tableJSON, policyJson) {
+ let submit_type = "RFQ"
+ if(rfq_or_qcr == 2){submit_type = 'QCR'}
+
var formData = {
lead_id: $("#lead_id").val(),
json: JSON.stringify(tableJSON),
- submit_type: "RFQ",
+ submit_type: submit_type,
registration_json: policyJson
}
@@ -3903,7 +3908,11 @@
} else if (redirect_type == 2) {
//EXCEL EXPORT
- let url = $('#submitExcel').data('url');
+ // let url = $('#submitExcel').data('url');
+
+ let lead_id = $('#lead_id').val();
+ let url = '= base_url('leads/exportQCRandRFQ/') ?>' + lead_id + '/' + rfq_or_qcr + '/' + 2
+
window.location.href = url;
} else if (redirect_type == 3) {