From b876f73d901291e2a072bc86719834e6c19563be Mon Sep 17 00:00:00 2001 From: vadivelJ96 Date: Thu, 21 Aug 2025 09:16:25 +0530 Subject: [PATCH] CHANGE UI LEVEL FIXES - VADIVEL J 2025-08-21 --- app/Controllers/ThzController.php | 134 ++++++++++++------------------ 1 file changed, 53 insertions(+), 81 deletions(-) diff --git a/app/Controllers/ThzController.php b/app/Controllers/ThzController.php index fcf68c4b..b9cf2967 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\TicketMailTemplateModel; class ThzController extends BaseController @@ -24,13 +25,16 @@ class ThzController extends BaseController protected $userModel; protected $clientPolicyModel; + protected $ticketMailTemplateModel; + public function __construct() { - $this->thzMasterModel = new ThzMasterModel(); - $this->thzMasterNotesModel = new ThzMasterNotesModel(); - $this->thzControllerCleaner = new ThzControllerCleaner(); - $this->userModel = new UserModel(); - $this->clientPolicyModel = new ClientPolicyModel(); + $this->thzMasterModel = new ThzMasterModel(); + $this->thzMasterNotesModel = new ThzMasterNotesModel(); + $this->thzControllerCleaner = new ThzControllerCleaner(); + $this->userModel = new UserModel(); + $this->clientPolicyModel = new ClientPolicyModel(); + $this->ticketMailTemplateModel = new TicketMailTemplateModel(); } public function index() @@ -58,11 +62,12 @@ class ThzController extends BaseController $id = isset($insertID) && !empty($insertID) ? $insertID : $updateID ; - $this->ticketSaveNotification($data , $insertOrUpdate = $text , $id); + $emailNotificationResult = $this->ticketSaveNotification($data , $insertOrUpdate = $text , $id); return $this->response->setJSON([ 'status' => $result ? 'success' : 'error', - 'message' => $result ? "Ticket {$text}d successfully" : "Unable to {$text} ticket. Please try again." + 'message' => $result ? "Ticket {$text}d successfully " : "Unable to {$text} ticket. Please try again." , + 'notification' => $emailNotificationResult ? 'Email Notification Success..!!' : 'Email Notification Failed..!!' ])->setStatusCode($result ? 200 : 400); } @@ -260,7 +265,7 @@ class ThzController extends BaseController $ticketId = $id; - $result = $this->emailNotificationBasedOnRole($emailToNotified , $insertOrUpdate , $ticketId , $data); + $result = $this->ticketSaveEmailNotificationBasedOnRole($emailToNotified , $insertOrUpdate , $ticketId , $data); return $result; @@ -276,7 +281,7 @@ class ThzController extends BaseController } - private function emailNotificationBasedOnRole($emailToNotified , $insertOrUpdate , $ticketId , $data){ + private function ticketSaveEmailNotificationBasedOnRole($emailToNotified , $insertOrUpdate , $ticketId , $data){ $user_email = $emailToNotified['user_email'] ?? null; $assignee_email = $emailToNotified['assignee_email'] ?? null; @@ -288,41 +293,13 @@ class ThzController extends BaseController case 'update': - $messageUpdated = "

Hi From Nhance Support, -

Your Assigned Ticket No -%ticketId% for Subject - %subject% Updated With Latest Information .

-

Thank you

" ; - - - $from_mail = ""; - $to_mail = $assignee_email; - $cc_string = ""; - $subject = "

Ticket Created For %subject%

"; - $message = $messageUpdated ; - $attachments = ""; - $reply_to = ""; - $bcc_string = ""; - - $res = MailHelper::send_email(['from_mail' => $from_mail, 'mail' => $to_mail , 'cc' => $cc_string, 'subject' => $subject, 'message' => $message, 'attachments' => $attachments, 'reply_to' => $reply_to, 'bcc' => $bcc_string]); + $this->sendEmail( 'ticket_save_update_assignee', $data ,$assignee_email , $ticketId ) ; break; case 'create': - $messageCreated = "

Hi From Nhance Support, -

Your Assigned With New Ticket No -%ticketId% for Subject %subject% Updated With Latest Information .

-

Thank you

"; - - $from_mail = ""; - $to_mail = $assignee_email; - $cc_string = ""; - $subject = "

Ticket Created For %subject%

"; - $message = $messageCreated ; - $attachments = ""; - $reply_to = ""; - $bcc_string = ""; - - $res = MailHelper::send_email(['from_mail' => $from_mail, 'mail' => $to_mail , 'cc' => $cc_string, 'subject' => $subject, 'message' => $message, 'attachments' => $attachments, 'reply_to' => $reply_to, 'bcc' => $bcc_string]); - + $this->sendEmail( 'ticket_save_create_assignee', $data ,$assignee_email , $ticketId ) ; break; @@ -338,45 +315,16 @@ class ThzController extends BaseController switch ($insertOrUpdate) { case 'update': - - $messageUpdated = "

Hi From Nhance Support, -

Your Ticket for Subject %subject% Updated With Latest Information For Your Ticket No %ticketId%.

-

Thank you

"; - - $from_mail = ""; - $to_mail = $user_email; - $cc_string = ""; - $subject = "

Ticket Created For %subject%

"; - $message = $messageUpdated ; - $attachments = ""; - $reply_to = ""; - $bcc_string = ""; - - $res = MailHelper::send_email(['from_mail' => $from_mail, 'mail' => $to_mail , 'cc' => $cc_string, 'subject' => $subject, 'message' => $message, 'attachments' => $attachments, 'reply_to' => $reply_to, 'bcc' => $bcc_string]); - - break; + $this->sendEmail( 'ticket_save_update_user', $data ,$user_email , $ticketId ) ; + break; case 'create': - $messageForAssigned = "

Hi From Nhance Support, -

Your Ticket for Subject %subject% Created and Assigned To %assignee_email%. TicketNo - %ticketId%

-

Thank you

"; - - $messageForUnAssigned = "

Hi From Nhance Support, -

Your Ticket for Subject %subject% Created and Will be Assigned Shortly.Here is Your TicketNo - %ticketId%

-

Thank you

"; - - $from_mail = ""; - $to_mail = $user_email; - $cc_string = ""; - $subject = "

Ticket Created For %subject%

"; - $message = empty($assignee_email) ? $messageForUnAssigned : $messageForAssigned ; - $attachments = ""; - $reply_to = ""; - $bcc_string = ""; - - $res = MailHelper::send_email(['from_mail' => $from_mail, 'mail' => $to_mail , 'cc' => $cc_string, 'subject' => $subject, 'message' => $message, 'attachments' => $attachments, 'reply_to' => $reply_to, 'bcc' => $bcc_string]); - + if(empty($assignee_email)){ + $this->sendEmail( 'ticket_save_create_user_unassigned', $data ,$user_email , $ticketId ) ; + }else{ + $this->sendEmail( 'ticket_save_create_user_assigned', $data , $user_email , $ticketId ) ; + } break; @@ -402,13 +350,37 @@ class ThzController extends BaseController } -private function insertTicket($data) -{ - $data['created_by'] = get_session_userid(); - $this->thzMasterModel->insert($data); + private function insertTicket($data) + { + $data['created_by'] = get_session_userid(); + $this->thzMasterModel->insert($data); - return $this->thzMasterModel->insertID(); // returns the inserted row's ID -} + return $this->thzMasterModel->insertID(); // returns the inserted row's ID + } + + + private function sendEmail( $templateName, $data , $to_email , $ticketId){ + + $mail = $this->ticketMailTemplateModel->where('template_name',$templateName )->findAll(); + + $mail['subject'] = str_replace('%subject%', $data['subject'] ?? '', $mail['subject']); + + $mail['mail_content'] = str_replace('%subject%', $data['subject'] ?? '', $mail['mail_content']); + + $mail['mail_content'] = str_replace('%ticketId%', $ticketId ?? '', $mail['mail_content']); + + $from_mail = ""; + $to_mail = $to_email; + $cc_string = ""; + $subject = $mail['subject'] ; + $message = $mail['mail_content'] ; + $attachments = ""; + $reply_to = ""; + $bcc_string = ""; + + $res = MailHelper::send_email(['from_mail' => $from_mail, 'mail' => $to_mail , 'cc' => $cc_string, 'subject' => $subject, 'message' => $message, 'attachments' => $attachments, 'reply_to' => $reply_to, 'bcc' => $bcc_string]); + + }