diff --git a/app/Config/Routes.php b/app/Config/Routes.php
index ea9c7fc0..105f9836 100755
--- a/app/Config/Routes.php
+++ b/app/Config/Routes.php
@@ -646,4 +646,5 @@ $routes->post("ticketSave", "ThzController::ticketSave");
$routes->get("ticketList", "ThzController::ticketList");
$routes->post("ticketConversationSave", "ThzController::ticketConversationSave");
$routes->get("ticketConversationList", "ThzController::ticketConversationList");
-$routes->get('ticketAssigning',"ThzController::ticketAssigning");
\ No newline at end of file
+$routes->get('ticketAssigning',"ThzController::ticketAssigning");
+$routes->post('ticketAutoFetchDetails',"ThzController::ticketAutoFetchDetails");
\ No newline at end of file
diff --git a/app/Controllers/ThzController.php b/app/Controllers/ThzController.php
index b9cf2967..87d7f2bc 100644
--- a/app/Controllers/ThzController.php
+++ b/app/Controllers/ThzController.php
@@ -11,6 +11,7 @@ use App\Models\ThzMasterNotesModel;
use App\ControllerCleaners\ThzControllerCleaner;
use App\Models\UserModel;
use App\Models\ClientPolicyModel;
+use App\Models\ClientModel;
use App\Models\TicketMailTemplateModel;
@@ -24,6 +25,7 @@ class ThzController extends BaseController
protected $userModel;
protected $clientPolicyModel;
+ protected $clientModel;
protected $ticketMailTemplateModel;
@@ -34,6 +36,7 @@ class ThzController extends BaseController
$this->thzControllerCleaner = new ThzControllerCleaner();
$this->userModel = new UserModel();
$this->clientPolicyModel = new ClientPolicyModel();
+ $this->clientModel = new ClientModel();
$this->ticketMailTemplateModel = new TicketMailTemplateModel();
}
@@ -76,9 +79,11 @@ class ThzController extends BaseController
$returnType = strtolower($this->request->getGet('return_type') ?? 'api');
+
$data = $this->request->getGet();
$tickets = $this->fetchTicketsBasedOnrole($data);
+
if ($returnType === 'api') {
if (empty($tickets)) {
@@ -124,7 +129,8 @@ class ThzController extends BaseController
$mobile = $data['mobile'];
if($client_id && $mobile){
- $details = $this->thzMasterModel->ticketAutoFetchDetails($client_id,$mobile);
+
+ $details = $this->thzMasterModel->ticketAutoFetchDetails($client_id ,$mobile);
if(empty($details)){
return $this->response->setJSON((['status' => 'error', 'message' => 'No Data found']))->setStatusCode(400);
@@ -133,8 +139,8 @@ class ThzController extends BaseController
$policyIds = array_column($details, 'policy_id');
$policyIds = array_filter($policyIds);
$clientPolicy = $this->clientPolicyModel->whereIn('policy_id', $policyIds)->where('is_active', 1)->get()->getResultArray();
- $result['client'] =[];
-
+ $result['client_details'] = $details;
+ $result['policy_details'] = empty($clientPolicy) ? [] : $clientPolicy ;
}
}else{
@@ -150,7 +156,7 @@ class ThzController extends BaseController
$data = $this->request->getGet();
- $thz_id = $data['thz_id'] ?? null;
+ $thz_id = $data['thz_id'] ?? null;
if($thz_id){
$result['master'] = $this->thzMasterModel
@@ -173,8 +179,6 @@ class ThzController extends BaseController
}
-
-
public function ticketConversationSaveNotification($data){
}
@@ -273,11 +277,9 @@ class ThzController extends BaseController
private function findAssigneeEmail($assignee_id){
- $result = $this->userModel->where('id',$assignee_id)->find()->getResultArray();
-
- $assigneeEmail = $result[0]['email'];
-
- return $assigneeEmail;
+ $row = $this->userModel->where('id', $assignee_id)->get()->getRow();
+ $assigneeEmail = $row ? $row->email : null;
+ return $assigneeEmail ? $assigneeEmail : "";
}
diff --git a/app/Models/ThzMasterModel.php b/app/Models/ThzMasterModel.php
index b669a360..aa33fc32 100644
--- a/app/Models/ThzMasterModel.php
+++ b/app/Models/ThzMasterModel.php
@@ -40,25 +40,18 @@ class ThzMasterModel extends Model
protected $beforeDelete = [];
protected $afterDelete = [];
- public function ticketAutoFetchDetails(){
+ public function ticketAutoFetchDetails($client_id ,$mobile){
- $autofetch_sql = "SELECT
- employees.id,employees.client_id,
- employees.client_branch_id as branch_id,
- employees.mobile,
- employees.emp_code,
- employees.name,
- employee_polices.client_policy_id as policy_id
- FROM employees
- LEFT JOIN employee_polices
- ON employee_polices.employee_id = employees.id
- WHERE employees.emp_status IN ('active','draft','enrolled')
- AND employees.is_active = 1
- AND employees.mobile = " . $mobile . "
- AND employees.client_id = " . $client_id . "
- ORDER BY employees.id DESC";
-
- $result = $this->db->query($autofetch_sql)->getResultArray();
+ $result = $this->db->table('employees e')
+ ->select('e.id, e.email_personal, e.client_id, e.client_branch_id as branch_id, e.mobile, e.emp_code, e.name, ep.client_policy_id as policy_id')
+ ->join('employee_polices ep', 'ep.employee_id = e.id AND ep.is_active = 1', 'left')
+ ->whereIn('e.emp_status', ['active', 'draft', 'enrolled'])
+ ->where('e.is_active', 1)
+ ->where('e.mobile', $mobile)
+ ->where('e.client_id', $client_id)
+ ->groupBy('e.client_id')
+ ->get()
+ ->getResultArray();
return $result;
diff --git a/app/Models/ThzMasterNotesModel.php b/app/Models/ThzMasterNotesModel.php
index af8c8f8b..6b738219 100644
--- a/app/Models/ThzMasterNotesModel.php
+++ b/app/Models/ThzMasterNotesModel.php
@@ -95,7 +95,7 @@ class ThzMasterNotesModel extends Model
LEFT JOIN thz_master
ON thz_master.thz_id = thz_master_notes.thz_id
AND LOWER(thz_master_notes.notes_by) = 'user'
- WHERE thz_master_notes.thz_id = '.(int)$thz_id.'
+ WHERE thz_master_notes.thz_id = " . (int)$thz_id . "
ORDER BY thz_master_notes.created_at ASC";
$result = $this->db->query($notes_sql)->getResultArray();
diff --git a/app/Views/layout/header.php b/app/Views/layout/header.php
index 6016cefb..abfe7759 100755
--- a/app/Views/layout/header.php
+++ b/app/Views/layout/header.php
@@ -429,6 +429,7 @@
.search-bar input {
width: 100%;
+ padding-right: 40px; /* make space for the button */
border-radius: 10px !important;
background-color: #F4F4F4;
box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.1), 0px 4px 8px rgba(0, 0, 0, 0.2);
@@ -510,9 +511,35 @@
font-weight: 600!important;
}
- body{
- padding-right: 0px !important;
- }
+ .btn-ternary {
+ color: #fff !important;
+ background-color: #E26728;
+ border-color: #E26728; }
+ .btn-ternary:hover {
+ color: #fff !important;
+ background-color: #B9501F;
+ border-color: #A6471C; }
+ .btn-ternary:focus, .btn-ternary.focus {
+ color: #fff !important;
+ background-color: #B9501F;
+ border-color: #A6471C;
+ box-shadow: 0 0 0 0.15rem rgba(226, 103, 40, 0.5); }
+ .btn-ternary.disabled, .btn-ternary:disabled {
+ color: #fff !important;
+ background-color: #E26728;
+ border-color: #E26728; }
+ .btn-ternary:not(:disabled):not(.disabled):active, .btn-ternary:not(:disabled):not(.disabled).active,
+ .show > .btn-ternary.dropdown-toggle {
+ color: #fff !important;
+ background-color: #A6471C;
+ border-color: #933E19; }
+ .btn-ternary:not(:disabled):not(.disabled):active:focus, .btn-ternary:not(:disabled):not(.disabled).active:focus,
+ .show > .btn-ternary:dropdown-toggle:focus {
+ box-shadow: 0 0 0 0.15rem rgba(226, 103, 40, 0.5); }
+
+ .btn-border-radius{ .border-radius: 10px !important; }
+
+
diff --git a/app/Views/thz_list.php b/app/Views/thz_list.php
index cc6f4c11..1565e6fa 100644
--- a/app/Views/thz_list.php
+++ b/app/Views/thz_list.php
@@ -1,12 +1,54 @@