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 @@