From 56c501918a47823a6482572cc8f9be549cbde574 Mon Sep 17 00:00:00 2001 From: venba-Inspriron-3558 Date: Wed, 10 Sep 2025 11:05:35 +0530 Subject: [PATCH] CHANGE_Retails Endrosement 4 --- app/Config/Routes.php | 4 +- app/Controllers/EmployeeController.php | 68 +++++++++++++++ app/Views/layout/header.php | 3 + app/Views/retail_endorsement_list.php | 111 +++++++++++-------------- 4 files changed, 120 insertions(+), 66 deletions(-) diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 8cd0ee5f..f8fbf09a 100755 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -184,8 +184,8 @@ $routes->group("/employee", ["filter" => "authMVC"], function ($routes) { $routes->post("test-rack-rate", "EmployeeController::testRackRate"); $routes->get('test_members_list', 'EmployeeController::test_members_list'); $routes->post('get_emp_history','EmployeeController::getEmpHistory'); - // $routes->get("retail-endorsement-list", "EmployeeController::retailendorsementlist"); - // $routes->post("retail-endorsement-save", "EmployeeController::retailendorsementsave"); + $routes->get("retail-endorsement-list", "EmployeeController::retailendorsementlist"); + $routes->post("retail-endorsement-save", "EmployeeController::retailendorsementsave"); }); diff --git a/app/Controllers/EmployeeController.php b/app/Controllers/EmployeeController.php index cf891321..b97bd1b0 100755 --- a/app/Controllers/EmployeeController.php +++ b/app/Controllers/EmployeeController.php @@ -3016,6 +3016,74 @@ class EmployeeController extends AdminController * This method retrieves filter data from the request and fetches the endorsement list * based on the provided filters such as client ID, policy ID, and status. */ + public function retailendorsementlist() + { + + $data = []; + $data['status'] = ['open' => 'Open', 'inprogress' => 'In-Progress', 'complete' => 'Complete']; + $data['client'] = $this->clientModel->select('clients.id,client_name,short_name') + ->where('clients.is_active',1) + ->where('clients.client_type',2) + ->findAll(); + $data['insurer'] = $this->insurerModel->select('insurers.id,name,short_name') + ->where('insurers.is_active',1) + ->findAll(); + // if (count($this->request->getGet())) { + $filterData = $this->request->getGet(); + $data['employees'] = $this->partnerEndorsementRequestModel->getRetailEndorsementList( + client_id: $filterData['client_id'] ?? null, + insurers_id: $filterData['insurer_id'] ?? null, + status: $filterData['status'] ?? null + ); + + $data['getData'] = $filterData; + // echo "
";
+            // print_r($data); die;
+        // }
+
+        $this->loadLayout('retail_endorsement_list', $data);
+    }
+
+    public function retailendorsementsave()
+    {
+        try {
+            $data = $this->request->getPost();
+            if (!empty($data['id'])) {
+                $text   = "update";
+                $updateID = $data['id'];
+                $result = $this->partnerEndorsementRequestModel->where('id', $updateID)->set($data)->update();
+            } else {
+                $text   = "create";
+                $data['created_by'] = get_session_userid();
+                $this->thzMasterModel->insert($data);
+                $insertID = $this->partnerEndorsementRequestModel->insertID();
+                $result = true;
+            }
+
+            $id = isset($insertID) && !empty($insertID) ? $insertID : $updateID;
+
+            return $this->response->setJSON([
+                'status' => $result ? 'success' : 'error',
+                'message' => $result ? "Partner Endorsement Request {$text}d successfully " : "Unable to {$text} Partner Endorsement Request. Please try again.",
+            ])->setStatusCode($result ? 200 : 400);
+        } catch (\Throwable $e) {
+            $code = ($e->getCode() && $e->getCode() >= 100 && $e->getCode() < 600) ? $e->getCode() : 500;
+
+            $isDbError = $e instanceof \CodeIgniter\Database\Exceptions\DatabaseException
+                || $e instanceof \mysqli_sql_exception
+                || $e instanceof \PDOException;
+
+            $context = ['title'   => get_class($e), 'type'    => get_class($e), 'code'    => $code, 'message' => $e->getMessage(), 'file'    => $e->getFile(), 'line'    => $e->getLine()];
+
+            $this->myLogger->logme('error', "Exception: {message} in {file} on line {line}", $context, 0);
+
+            return $this->response->setJSON([
+                'status'  => 'error',
+                'message' => $isDbError ? 'Data Access Error' : $e->getMessage(),
+                'ref'     => $isDbError ? 'database - ' : 'application - ' . $code . ' - ' . $e->getLine()
+            ])->setStatusCode($code);
+        }
+    }
 
 
 }
diff --git a/app/Views/layout/header.php b/app/Views/layout/header.php
index 7a4dc9f7..8857a211 100755
--- a/app/Views/layout/header.php
+++ b/app/Views/layout/header.php
@@ -1451,6 +1451,9 @@
                                         
  • Test Members List
  • +
  • + Retail Endorsement +
  • diff --git a/app/Views/retail_endorsement_list.php b/app/Views/retail_endorsement_list.php index c7c34f6b..41dc17d5 100755 --- a/app/Views/retail_endorsement_list.php +++ b/app/Views/retail_endorsement_list.php @@ -12,6 +12,18 @@ position: relative; left: 79px; } + .emp_data_model { + font-size: 17px; /* keep fixed size */ + color: #555 !important; + cursor: pointer; + transition: transform 0.2s, color 0.2s; /* smooth hover effect */ + display: inline-block; /* important for transform */ + } + + .emp_data_model:hover { + color: #00999E !important; + transform: scale(1.5); + }
    @@ -33,11 +45,11 @@
    @@ -45,11 +57,11 @@
    @@ -58,7 +70,7 @@