From 537cdf834e718c90ac9fa3eafe4f4be4070cee23 Mon Sep 17 00:00:00 2001 From: vadivelJ96 Date: Fri, 3 Oct 2025 18:18:13 +0530 Subject: [PATCH 01/31] CHANGE_Pre_app_having_post_branch_id - VADIVEL J 2025-09-03 --- app/Config/Routes.php | 2 + app/Controllers/ClientController.php | 104 ++++++++++++++++ app/Models/ClientBranchModel.php | 1 + app/Views/client_branch.php | 18 +++ app/Views/client_onboarding.php | 180 +++++++++++++++++++++++++++ app/Views/layout/footer.php | 23 ++++ 6 files changed, 328 insertions(+) diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 896ca58..285ca8e 100755 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -97,6 +97,8 @@ $routes->group("/client", ["filter" => "authMVC"], function ($routes) { $routes->post("edit", "ClientController::editClientBranch"); $routes->get("list/(:any)", "ClientController::getSingleBranchDataById/$1"); $routes->get("remove/(:any)", "ClientController::removeClientBranch/$1"); + $routes->post("auto_fetch_branch","ClientController::auto_fetch_branch"); + $routes->post("auto_fetch_branch_details","ClientController::auto_fetch_branch_details"); }); $routes->group("relation", ["filter" => "authMVC"], function ($routes) { diff --git a/app/Controllers/ClientController.php b/app/Controllers/ClientController.php index fdf55ca..6646aa6 100755 --- a/app/Controllers/ClientController.php +++ b/app/Controllers/ClientController.php @@ -481,6 +481,10 @@ class ClientController extends AdminController // dd($data['placeHolders']); + + // auto fetch client list and branch list from pre + $data['auto_fetch_client_list'] = $this->getClientListFromPost(); + echo view('layout/header', $headerData); echo view('client_onboarding', $data); echo view('layout/footer'); @@ -620,6 +624,8 @@ class ClientController extends AdminController $editData['client_policy']['role'] = get_role_id(); $editData['notification'] = $this->notificationModel->select('template_name,enabled')->where('client_id', $id)->findAll(); $editData['placeHolders'] = ['member_name', 'member_mobile', 'nhance_logo', 'tpa_id', 'ecard_download_link', 'client_logo', 'policy_no', 'member_summary', 'app_link', 'post_enrollment_app_link', 'client_name']; + + $editData['auto_fetch_client_list'] = $this->getClientListFromPost(); // dd($editData); echo view('layout/header', $headerData); @@ -5129,4 +5135,102 @@ class ClientController extends AdminController return $this->respond(['status' => true, 'message' => 'Demo client data wiped successfully'], 200); } + + + + private function getClientListFromPost (){ + + $db2 = \Config\Database::connect('postDB'); + + $auto_fetch_client_list = $db2->table('clients') + ->select('id,client_name') + ->where('is_active',1) + ->get()->getResultArray()??[]; + + return $auto_fetch_client_list; + + } + + public function auto_fetch_branch(){ + + $data = $this->request->getPost(); + + $db2 = \Config\Database::connect('postDB'); + + $auto_fetch_branch_list = $db2->table('client_branch') + ->select('id,branch_name') + ->where('client_id',$data['client_id']) + ->where('is_active',1) + ->get()->getResultArray()??[]; + + return + + empty($auto_fetch_branch_list) + + ? $this->response->setJSON([ + 'status' => false, + 'message' => 'branch list is empty', + 'data' => [] + ])->setStatusCode(400) + + : $this->response->setJSON([ + 'status' => true, + 'message' => 'branch list is found' , + 'data' => $auto_fetch_branch_list + ])->setStatusCode(200); + } + + public function auto_fetch_branch_details(){ + + $data = $this->request->getPost(); + + $db2 = \Config\Database::connect('postDB'); + + $auto_fetch_branch_details = $db2->table('client_branch') + ->where('client_id',$data['client_id']) + ->where('id',$data['branch_id']) + ->where('is_active',1) + ->get()->getResultArray()??[]; + + return empty($auto_fetch_branch_details) + + ? $this->response->setJSON([ + 'status' => false, + 'message' => 'branch details is empty', + 'data' => [] + ])->setStatusCode(400) + + : $this->response->setJSON([ + 'status' => true, + 'message' => 'branch details found' , + 'data' => $auto_fetch_branch_details + ])->setStatusCode(200); + + } + + + + + + + + + + + + + + + + + + + + + + + + + + } diff --git a/app/Models/ClientBranchModel.php b/app/Models/ClientBranchModel.php index 100f503..695cd16 100755 --- a/app/Models/ClientBranchModel.php +++ b/app/Models/ClientBranchModel.php @@ -25,6 +25,7 @@ class ClientBranchModel extends Model "gst", "sez", "units", + "post_branch_id" ]; public function getBranchAndContactByBranchId($branch_id){ diff --git a/app/Views/client_branch.php b/app/Views/client_branch.php index 9ef5c5a..0dc28eb 100755 --- a/app/Views/client_branch.php +++ b/app/Views/client_branch.php @@ -70,6 +70,12 @@
+ +
+ +
+
+
+ +
+
+
+ + + + + + + + + + diff --git a/app/Views/layout/footer.php b/app/Views/layout/footer.php index 9a52853..5026672 100755 --- a/app/Views/layout/footer.php +++ b/app/Views/layout/footer.php @@ -932,6 +932,29 @@ function confirmActionSweertAlert(message = "Are you sure?", confirmText = "Yes, + + \ No newline at end of file From 6e64988e4636da72837df9568db792ead3ab49e3 Mon Sep 17 00:00:00 2001 From: Gowtham M Date: Sat, 4 Oct 2025 14:05:48 +0530 Subject: [PATCH 02/31] GWM : getSelfBand~ --- app/Controllers/EmployeeRestController.php | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/app/Controllers/EmployeeRestController.php b/app/Controllers/EmployeeRestController.php index 38329a0..9bab925 100755 --- a/app/Controllers/EmployeeRestController.php +++ b/app/Controllers/EmployeeRestController.php @@ -275,6 +275,7 @@ class EmployeeRestController extends AdminController $item->gender = $this->GenderMap($item->relationship , $item->emp_code); $item->dob = $this->convertDateFormatYMD($item->dob); $item->emp_status = 'draft'; + $item->band = $this->getSelfBand($item->emp_code,$item->client_id,$item->client_branch_id); // dd($item); $employee = $this->employeeModel->insert($item); @@ -312,6 +313,22 @@ class EmployeeRestController extends AdminController } + public function getSelfBand(string $emp_code, int $client_id, int $client_branch_id): ?string + { + $employee = $this->employeeModel + ->where('emp_code', $emp_code) + ->where('client_id', $client_id) + ->where('client_branch_id', $client_branch_id) + ->whereIn('emp_status', ['draft', 'enrolled']) + ->where('is_active', 1) + ->where('relationship','Self') + ->first(); + + return $employee['band'] ?? null; + } + + + public function getEmployeePayableValue($client_policy_id,$relationship) { $terms = $this->clientPolicyModel->where('id',$client_policy_id)->get()->getRow()->policy_terms; From 417f77693b5ce530e95495ad93a3fe8234846f46 Mon Sep 17 00:00:00 2001 From: Gowtham M Date: Sat, 4 Oct 2025 18:29:21 +0530 Subject: [PATCH 03/31] GWM : removed string from auth token key --- app/Controllers/RestAuthenticationController.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/Controllers/RestAuthenticationController.php b/app/Controllers/RestAuthenticationController.php index 04902bc..0ebea72 100755 --- a/app/Controllers/RestAuthenticationController.php +++ b/app/Controllers/RestAuthenticationController.php @@ -628,7 +628,7 @@ class RestAuthenticationController extends AdminController // Call the third-party API function $apiResponse = $this->callThirdPartyAPI($this->request->getJSON(),'getVerifiedHrData'); - return $this->respond(['status' => 'failed','code' => 404,'data' => "Invalid OTP" , 'post_enrollment'=> json_decode($apiResponse, true)],200); + return $this->respond(['status' => 'failed','code' => 404,'data' => "" , 'post_enrollment'=> json_decode($apiResponse, true)],200); } } catch (\Exception $e) { return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()],500); @@ -979,10 +979,10 @@ class RestAuthenticationController extends AdminController // Call the third-party API function $apiResponse = $this->callThirdPartyAPI($requestData, 'verifyMpin'); - return $this->respond(['status' => 'failed', 'code' => 404, 'data' => "Invalid OTP", 'post_enrollment' => json_decode($apiResponse, true)], 200); + return $this->respond(['status' => 'failed', 'code' => 404, 'data' => "", 'post_enrollment' => json_decode($apiResponse, true)], 200); //$apiResponse = $this->callThirdPartyAPI($this->request->getJSON(),'/getVerifiedUserData'); - // return $this->respond(['status' => 'failed','code' => 404,'data' => "Invalid OTP", 'post_enrollment'=> json_decode($apiResponse, true)],200); + // return $this->respond(['status' => 'failed','code' => 404,'data' => "", 'post_enrollment'=> json_decode($apiResponse, true)],200); } From 56a7dabc278c618b0d505ed875412acc0aecce13 Mon Sep 17 00:00:00 2001 From: "venkatesh.r" Date: Mon, 6 Oct 2025 10:47:36 +0530 Subject: [PATCH 04/31] CHANGE_RES_CONTRL_CHANGE : RV --- .../RestAuthenticationController.php | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/app/Controllers/RestAuthenticationController.php b/app/Controllers/RestAuthenticationController.php index 04902bc..4f16755 100755 --- a/app/Controllers/RestAuthenticationController.php +++ b/app/Controllers/RestAuthenticationController.php @@ -179,7 +179,7 @@ class RestAuthenticationController extends AdminController $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyEmployeeWithMobileNumber: Exception: " . $th->getMessage() . " --- Line: " . $th->getLine() . " --- Trace: " . $th->getTraceAsString()); log_message('error', ' '); log_message('error', '************************ PRE END ********************************'); - return $this->respond(['status' => 'failed','code' => 500,'data' => $th],500); + return $this->respond(['status' => 'failed','code' => 500,'data' => "", 'message' => $th],500); } } @@ -323,7 +323,7 @@ class RestAuthenticationController extends AdminController log_message('error', ' '); log_message('error', '************************ PRE END ********************************'); $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyEmployeeWithEmailId: Exception: " . $th->getMessage() . " --- Line: " . $th->getLine() . " --- Trace: " . $th->getTraceAsString()); - return $this->respond(['status' => 'failed', 'code' => 500, 'data' => $th], 500); + return $this->respond(['status' => 'failed', 'code' => 500, 'data' => "", 'message' => $th], 500); } } @@ -357,7 +357,7 @@ class RestAuthenticationController extends AdminController $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - getVerifiedUserData: empdata is empty"); log_message('error', ' '); log_message('error', '************************ PRE END ********************************'); - return $this->respond(['status' => 'failed','code' => 404,'data' => []],200); + return $this->respond(['status' => 'failed','code' => 404,'data' => "", 'message' => "No data found"],200); } $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - getVerifiedUserData: empdata = " . json_encode($empdata)); @@ -447,14 +447,15 @@ class RestAuthenticationController extends AdminController log_message('error', '************************ PRE END ********************************'); // Call the third-party API function $apiResponse = $this->callThirdPartyAPI($requestData,'getVerifiedUserData'); - return $this->respond(['status' => 'failed','code' => 404,'data' => [] , 'post_enrollment'=> json_decode($apiResponse, true)],200); + return $this->respond(['status' => 'failed','code' => 404,'data' => '' , 'post_enrollment'=> json_decode($apiResponse, true)],200); } + } catch (\Exception $e) { $this->myLogger->logme("error", "Exception: " . $e->getMessage() . " --- Line: " . $e->getLine() . " --- Trace: " . $e->getTraceAsString()); log_message('error', ' '); log_message('error', '************************ PRE END ********************************'); - return $this->respond(['status' => 'failed','code' => 500,'data' =>[], 'error' => $e->getMessage()],500); + return $this->respond(['status' => 'failed','code' => 500,'data' => "", 'message' => $e->getMessage()],500); } } @@ -628,7 +629,7 @@ class RestAuthenticationController extends AdminController // Call the third-party API function $apiResponse = $this->callThirdPartyAPI($this->request->getJSON(),'getVerifiedHrData'); - return $this->respond(['status' => 'failed','code' => 404,'data' => "Invalid OTP" , 'post_enrollment'=> json_decode($apiResponse, true)],200); + return $this->respond(['status' => 'failed','code' => 404,'data' => " " , 'post_enrollment'=> json_decode($apiResponse, true)],200); } } catch (\Exception $e) { return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()],500); @@ -761,7 +762,7 @@ class RestAuthenticationController extends AdminController $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - Exception: " . $th->getMessage() . " --- Line: " . $th->getLine() . " --- Trace: " . $th->getTraceAsString()); log_message('error', ' '); log_message('error', '************************ PRE END ********************************'); - return $this->respond(['status' => 'failed','code' => 500,'data' => $th],500); + return $this->respond(['status' => 'failed','code' => 500,'data' => "", 'message' => $th],500); } } @@ -870,7 +871,7 @@ class RestAuthenticationController extends AdminController $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - Exception: " . $th->getMessage() . " --- Line: " . $th->getLine() . " --- Trace: " . $th->getTraceAsString()); log_message('error', ' '); log_message('error', '************************ PRE END ********************************'); - return $this->respond(['status' => 'failed','code' => 500,'data' => $th],500); + return $this->respond(['status' => 'failed','code' => 500,'data' => "", 'message' => $th],500); } } @@ -896,7 +897,7 @@ class RestAuthenticationController extends AdminController $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyMpin: No employee data found both PRE and POST"); log_message('error', ' '); log_message('error', '************************ PRE END ********************************'); - return $this->respond(['status' => 'failed', 'code' => 404, 'data' => []], 200); + return $this->respond(['status' => 'failed', 'code' => 404, 'data' => ""], 200); } $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyMpin: empdata = " . json_encode($empdata)); @@ -979,10 +980,10 @@ class RestAuthenticationController extends AdminController // Call the third-party API function $apiResponse = $this->callThirdPartyAPI($requestData, 'verifyMpin'); - return $this->respond(['status' => 'failed', 'code' => 404, 'data' => "Invalid OTP", 'post_enrollment' => json_decode($apiResponse, true)], 200); + return $this->respond(['status' => 'failed', 'code' => 404, 'data' => " ", 'post_enrollment' => json_decode($apiResponse, true)], 200); //$apiResponse = $this->callThirdPartyAPI($this->request->getJSON(),'/getVerifiedUserData'); - // return $this->respond(['status' => 'failed','code' => 404,'data' => "Invalid OTP", 'post_enrollment'=> json_decode($apiResponse, true)],200); + // return $this->respond(['status' => 'failed','code' => 404,'data' => " ", 'post_enrollment'=> json_decode($apiResponse, true)],200); } @@ -990,7 +991,7 @@ class RestAuthenticationController extends AdminController $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - Exception: " . $e->getMessage() . " --- Line: " . $e->getLine() . " --- Trace: " . $e->getTraceAsString()); log_message('error', ' '); log_message('error', '************************ PRE END ********************************'); - return $this->respond(['status' => 'failed', 'code' => 500, 'data' => $e->getMessage()], 500); + return $this->respond(['status' => 'failed', 'code' => 500, 'data' => "", 'message' => $e->getMessage()], 500); return $this->respond(['status' => 'failed', 'code' => 200, 'post_enrollment' => json_decode($apiResponse, true)], 200); } } @@ -1068,7 +1069,7 @@ class RestAuthenticationController extends AdminController $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - checkMpin: Mpin - Exist"); log_message('error', ' '); log_message('error', '************************ PRE END ********************************'); - return $this->respond(['status' => 'success','code' => 200,'data' => "Mpin - exist" , 'Mpin' =>$employeeData["mpin"], 'is_mpin_skipped' => $employeeData['is_mpin_skipped'], 'is_biometric_enabled' => $employeeData['is_biometric_enabled']],200); + return $this->respond(['status' => 'success','code' => 200,'data' => "", 'message' => "Mpin - exist" , 'Mpin' =>$employeeData["mpin"], 'is_mpin_skipped' => $employeeData['is_mpin_skipped'], 'is_biometric_enabled' => $employeeData['is_biometric_enabled']],200); } else { $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - checkMpin: Mpin - not found in PRE so call the thirdpartapi to the POST to check the MPIN"); log_message('error', ' '); @@ -1081,7 +1082,7 @@ class RestAuthenticationController extends AdminController $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - Exception: " . $e->getMessage() . " --- Line: " . $e->getLine() . " --- Trace: " . $e->getTraceAsString()); log_message('error', ' '); log_message('error', '************************ PRE END ********************************'); - return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()],500); + return $this->respond(['status' => 'failed','code' => 500,'data' => "", 'message' => $e->getMessage()],500); } } From 540ce84162d778535ba31e88e4fe03d86bf372f6 Mon Sep 17 00:00:00 2001 From: Gowtham M Date: Mon, 6 Oct 2025 14:47:02 +0530 Subject: [PATCH 05/31] GWM : hr auth token api --- .../RestAuthenticationController.php | 75 +++++++++++++------ 1 file changed, 54 insertions(+), 21 deletions(-) diff --git a/app/Controllers/RestAuthenticationController.php b/app/Controllers/RestAuthenticationController.php index 0ebea72..3723659 100755 --- a/app/Controllers/RestAuthenticationController.php +++ b/app/Controllers/RestAuthenticationController.php @@ -590,38 +590,71 @@ class RestAuthenticationController extends AdminController if(isset($this->request->getJSON()->mobile_no)){ - $hrData = $this->hrModel ->select('level_contacts.* , client_branch.client_id as client_id') + $getAllhrData = $this->hrModel->select('level_contacts.id ,level_contacts.mobile , level_contacts.email , clients.id as client_id, clients.client_name, clients.short_name , client_branch.id as client_branch_id,client_branch.branch_name , client_branch.post_branch_id') ->join('client_branch', 'level_contacts.ref_id = client_branch.id', 'left') + ->join('clients', 'client_branch.client_id = clients.id', 'left') ->where('level_contacts.mobile', $mobile_number ) ->where('level_contacts.contact_type', 'client') - ->find(); + ->findAll(); }else if(isset($this->request->getJSON()->otp)){ $this->hrModel->where('email', $email)->where('otp', $otp)->where('contact_type', 'client')->set(['otp'=>null])->update(); - $hrData = $this->hrModel ->select('level_contacts.* , client_branch.client_id as client_id') - ->join('client_branch', 'level_contacts.ref_id = client_branch.id', 'left') - ->where('level_contacts.email', $email ) - ->where('level_contacts.contact_type', 'client') - ->find(); + $getAllhrData = $this->hrModel->select('level_contacts.id ,level_contacts.mobile , level_contacts.email , clients.id as client_id, clients.client_name, clients.short_name , client_branch.id as client_branch_id,client_branch.branch_name , client_branch.post_branch_id') + ->join('client_branch', 'level_contacts.ref_id = client_branch.id', 'left') + ->join('clients', 'client_branch.client_id = clients.id', 'left') + ->where('level_contacts.email', $email ) + ->where('level_contacts.contact_type', 'client') + ->findAll(); + } + + if(count($getAllhrData)) + { + $db2 = \Config\Database::connect('postDB'); + foreach ($getAllhrData as $key => $value) { + + $HRAccessData = $db2->table('hr_access_control hr') + ->where('hr.pre_client_id',$value['client_id']) + ->where('hr.pre_branch_id', $value['client_branch_id']) + ->where('hr.pre_hr_id', $value['id']) + ->get()->getRowArray(); + + + if (!empty($HRAccessData) && isset($HRAccessData['allowed_modules'])) { + + $decoded = json_decode($HRAccessData['allowed_modules'], true); + $getAllhrData[$key]['allowed_modules'] = $decoded; + + $token = JWTToken::encode($HRAccessData); + $getAllhrData[$key]['token'] = $token; + + } else { + $getAllhrData[$key]['allowed_modules'] = []; + $getAllhrData[$key]['token'] = ""; + } + + } } - //call and get allowed module data from post enrollment - $queryParams = [ - 'hr_id' => $hrData['0']['id'], - 'request_for' => 'pre_enrollment' - ]; - $HRAccessRes = $this->callThirdPartyGETAPI($queryParams,'getHRAccessData'); - $HRAccessData = json_decode($HRAccessRes,true); - if(isset($HRAccessData['data']['allowed_modules'])){ $hrData['0']['allowed_modules'] = json_decode($HRAccessData['data']['allowed_modules'],true)['pre']; }else{ $hrData['0']['allowed_modules'] = []; } - - $hrData['0']['token_type'] = 'pre'; - $result = JWTToken::encode($hrData['0']); - - // Call the third-party API function $apiResponse = $this->callThirdPartyAPI($this->request->getJSON(),'getVerifiedHrData'); - return $this->respond(['status' => 'success','code' => 200,'data' => $result , 'post_enrollment'=> json_decode($apiResponse, true)],200); + return $this->respond(['status' => 'success','code' => 200,'data' => $getAllhrData , 'post_enrollment'=> json_decode($apiResponse, true)],200); + + //call and get allowed module data from post enrollment + // $queryParams = [ + // 'hr_id' => $hrData['0']['id'], + // 'request_for' => 'pre_enrollment' + // ]; + // $HRAccessRes = $this->callThirdPartyGETAPI($queryParams,'getHRAccessData'); + // $HRAccessData = json_decode($HRAccessRes,true); + // if(isset($HRAccessData['data']['allowed_modules'])){ $hrData['0']['allowed_modules'] = json_decode($HRAccessData['data']['allowed_modules'],true)['pre']; }else{ $hrData['0']['allowed_modules'] = []; } + + // $hrData['0']['token_type'] = 'pre'; + // $result = JWTToken::encode($hrData['0']); + + // // Call the third-party API function + // $apiResponse = $this->callThirdPartyAPI($this->request->getJSON(),'getVerifiedHrData'); + // return $this->respond(['status' => 'success','code' => 200,'data' => $result , 'post_enrollment'=> json_decode($apiResponse, true)],200); } else { From 342069e9e291d1c7a4456ee9feb83e832ac39aa8 Mon Sep 17 00:00:00 2001 From: vadivelJ96 Date: Mon, 6 Oct 2025 15:12:51 +0530 Subject: [PATCH 06/31] CHANGE_Pre_app_having_post_branch_id - VADIVEL J 2025-09-06 --- app/Helpers/sendMailNotification.php | 2 +- app/Views/layout/header.php | 329 ++++++++----- app/Views/layout/header_new.php | 666 +++++++++++++++++++++++++++ 3 files changed, 878 insertions(+), 119 deletions(-) create mode 100644 app/Views/layout/header_new.php diff --git a/app/Helpers/sendMailNotification.php b/app/Helpers/sendMailNotification.php index 01ff5d5..8698874 100755 --- a/app/Helpers/sendMailNotification.php +++ b/app/Helpers/sendMailNotification.php @@ -875,7 +875,7 @@ class sendMailNotification // $client_id = $params['client_id']; // $client_policy_id = $params['client_policy_id']; // $common = $params['common']; -data: name: name: + // data: name: name: // $clientModel = new ClientModel(); // $clientPolicyModel = new ClientPolicyModel(); // $PolicyPremium1Model = new PolicyPremium1Model(); diff --git a/app/Views/layout/header.php b/app/Views/layout/header.php index 33630d0..aa201ad 100755 --- a/app/Views/layout/header.php +++ b/app/Views/layout/header.php @@ -329,84 +329,8 @@ }); - - @@ -420,24 +344,219 @@ -
+
+ + +
+ + + +