CHANGE_Mail_template_filename_issue - VADIVEL J 2025-10-15
This commit is contained in:
parent
7dc0e4696a
commit
67d03e8392
@ -684,6 +684,12 @@ class ClientController extends AdminController
|
||||
$insert = $this->clientModel->insert($data);
|
||||
if ($insert) {
|
||||
$client_data = $this->clientModel->where(['id' => $insert, 'is_active' => 1])->first();
|
||||
|
||||
$client_id = $insert;
|
||||
$default_template_creation = $this->createDefaultMailTemplate($client_id , $client_data);
|
||||
if($default_template_creation == false){
|
||||
$this->myLogger->logme('error', 'Default Mail Template Creation Failed for Client ID: {data}', ['data' => $client_id]);
|
||||
}
|
||||
return $this->respond(['status' => true, 'code' => 200, 'data' => $client_data], 200);
|
||||
} else {
|
||||
return $this->respond(['status' => false, 'code' => 404, 'message' => 'no data found'], 200);
|
||||
@ -5334,6 +5340,76 @@ class ClientController extends AdminController
|
||||
|
||||
}
|
||||
|
||||
public function createDefaultMailTemplate($client_id , $client_data){
|
||||
|
||||
$member_welcome_mail_template = $this->notificationModel->where('client_id',NULL)->where('template_name','member_welcome_mail')->get()->getResultArray()[0]??[];
|
||||
|
||||
$member_remainder_mail_template = $this->notificationModel->where('client_id',NULL)->where('template_name','member_reminder_mail')->get()->getResultArray()[0]??[];
|
||||
|
||||
$member_review_and_summary_mail_template = $this->notificationModel->where('client_id',NULL)->where('template_name','member_review_and_summary_mail')->get()->getResultArray()[0]??[];
|
||||
|
||||
$default_member_welcome_mail_template = [
|
||||
'client_id' => $client_id,
|
||||
'template_name' => 'member_welcome_mail',
|
||||
'subject' => $member_welcome_mail_template['subject']??'',
|
||||
'mail_content' => $member_welcome_mail_template['mail_content']??'',
|
||||
'mail_content_json'=> $member_welcome_mail_template['mail_content_json']??'',
|
||||
|
||||
'created_by' => get_session_userid(),
|
||||
'created_at' => date('Y-m-d H:i:s'),
|
||||
'updated_by' => null,
|
||||
'updated_at' => date('Y-m-d H:i:s'),
|
||||
'mail_content_copy'=> null
|
||||
];
|
||||
|
||||
$default_member_remainder_mail_template = [
|
||||
'client_id' => $client_id,
|
||||
'template_name' => 'member_reminder_mail',
|
||||
'subject' => $member_remainder_mail_template['subject']??'',
|
||||
'mail_content' => $member_remainder_mail_template['mail_content']??'',
|
||||
'mail_content_json'=> $member_remainder_mail_template['mail_content_json']??'',
|
||||
|
||||
'created_by' => get_session_userid(),
|
||||
'created_at' => date('Y-m-d H:i:s'),
|
||||
'updated_by' => null,
|
||||
'updated_at' => date('Y-m-d H:i:s'),
|
||||
'mail_content_copy'=> null
|
||||
];
|
||||
|
||||
$default_member_review_and_summary_mail_template = [
|
||||
'client_id' => $client_id,
|
||||
'template_name' => 'member_review_and_summary_mail',
|
||||
'subject' => $member_review_and_summary_mail_template['subject']??'',
|
||||
'mail_content' => $member_review_and_summary_mail_template['mail_content']??'',
|
||||
'mail_content_json'=> $member_review_and_summary_mail_template['mail_content_json']??'',
|
||||
|
||||
'created_by' => get_session_userid(),
|
||||
'created_at' => date('Y-m-d H:i:s'),
|
||||
'updated_by' => null,
|
||||
'updated_at' => date('Y-m-d H:i:s'),
|
||||
'mail_content_copy'=> null
|
||||
];
|
||||
|
||||
$this->myLogger->logme('error', 'Default Mail Template Data ' . json_encode([
|
||||
$default_member_welcome_mail_template,
|
||||
$default_member_remainder_mail_template,
|
||||
$default_member_review_and_summary_mail_template
|
||||
], JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES));
|
||||
|
||||
|
||||
|
||||
$default_templates_inserted = $this->notificationModel->insertBatch([
|
||||
$default_member_welcome_mail_template,
|
||||
$default_member_remainder_mail_template,
|
||||
$default_member_review_and_summary_mail_template
|
||||
]);
|
||||
|
||||
|
||||
return $default_templates_inserted ? true : false;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1,3 +1,69 @@
|
||||
|
||||
<style>
|
||||
.switch-label {
|
||||
position: relative;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
cursor: pointer;
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
justify-content: flex-end;
|
||||
margin-right: 40px;
|
||||
}
|
||||
|
||||
.switch-label input {
|
||||
opacity: 0;
|
||||
width: 0;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
.slider {
|
||||
position: relative;
|
||||
width: 50px;
|
||||
height: 25px;
|
||||
background-color: #fff;
|
||||
border-radius: 25px;
|
||||
box-shadow: 0 0 5px rgba(0,0,0,0.2);
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
.slider::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
height: 19px;
|
||||
width: 19px;
|
||||
left: 3px;
|
||||
top: 3px;
|
||||
background-color: #ccc;
|
||||
border-radius: 50%;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
input:checked + .slider {
|
||||
background-color: #ff4d4d; /* red when ON */
|
||||
}
|
||||
|
||||
input:checked + .slider::before {
|
||||
transform: translateX(25px);
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.switch-text {
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
#table-client-policy_wrapper .row>.col-sm-12.col-md-6:first-child{
|
||||
display: none;
|
||||
}
|
||||
|
||||
#table-client-policy_filter{
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
|
||||
<div class="tab-pane fade" id="police-tab">
|
||||
|
||||
<div class="row float-right" style="padding-bottom: 10px; position: relative;right: 13px;">
|
||||
@ -5,6 +71,18 @@
|
||||
<!-- <button type="button" id="BtnAddSuccess" class="btn btn-success waves-effect waves-light BtnAddSuccess btn-sm" onclick="showModal()"><span class="fa fa-plus-square" aria-hidden="true" style="padding: 5px 10px;"></span>Add Policy From Lead</button> -->
|
||||
</div>
|
||||
|
||||
|
||||
<br>
|
||||
|
||||
<div class="" style="padding: 10px; position: absolute;
|
||||
right: 0;">
|
||||
<label class="switch-label">
|
||||
<input type="checkbox" id="chk-show-expired">
|
||||
<span class="slider"></span>
|
||||
<span class="switch-text">Expired Policies</span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="table-responsive" id="table_list">
|
||||
|
||||
<table class="table table-borderless table mb-0" id="table-client-policy">
|
||||
@ -322,6 +400,9 @@ $(document).ready(function() {
|
||||
// Get today's date
|
||||
var today = new Date();
|
||||
|
||||
|
||||
const showExpired = $('#chk-show-expired').is(':checked');
|
||||
|
||||
var startDatePicker = flatpickr("#start_date", {
|
||||
dateFormat: "d-m-Y",
|
||||
defaultDate: today,
|
||||
@ -436,7 +517,8 @@ $(document).ready(function() {
|
||||
si_mapping = `<a href="#" data-id="${item.id}" data-typeid="${item.policy_type_id}" class="dropdown-item" onclick="showModal('si_mapping'); loadModal('${item.id}','${item.base_policy}');"><i class="mdi mdi-swap-horizontal"></i> SI Mapping</a>`;
|
||||
}
|
||||
|
||||
|
||||
if(showExpired == false && checkDateStatus(item.policy_end_date) != 'Expired'){
|
||||
|
||||
policyTable +=
|
||||
`
|
||||
<tr>
|
||||
@ -457,7 +539,7 @@ $(document).ready(function() {
|
||||
${auto_si_menu}
|
||||
${si_mapping}`;
|
||||
// Conditionally render the delete option based on the role
|
||||
if (role !== 3 && role !== 4) {
|
||||
if (role != 3 && role != 4) {
|
||||
policyTable +=
|
||||
`
|
||||
<a href="#" data-id="${item.id}" id="${search_term}" data-typeid="${item.policy_type_id}" class="dropdown-item" onclick="removepolicy(this)"><i class="fa fa-trash mr-2 text-muted font-18 vertical-middle"></i>Delete</a>`;
|
||||
@ -470,6 +552,7 @@ $(document).ready(function() {
|
||||
</tr>
|
||||
`;
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
$('#policy_table').append(policyTable);
|
||||
@ -478,9 +561,11 @@ $(document).ready(function() {
|
||||
|
||||
|
||||
$('#table-client-policy').DataTable({
|
||||
paging: true,
|
||||
searching: false,
|
||||
// ordering: false
|
||||
paging: true,
|
||||
searching: true,
|
||||
autoWidth: false,
|
||||
responsive: true,
|
||||
|
||||
});
|
||||
|
||||
|
||||
@ -710,7 +795,7 @@ $("#policy_form").submit(function(event) {
|
||||
${auto_si_menu}`;
|
||||
|
||||
// Conditionally render the delete option based on the role
|
||||
if (role !== 3 && role !== 4) {
|
||||
if (role != 3 && role != 4) {
|
||||
policyTable +=
|
||||
`
|
||||
<a href="#" data-id="${item.id}" id="${search_term}" data-typeid="${item.policy_type_id}" class="dropdown-item" onclick="removepolicy(this)"><i class="fa fa-trash mr-2 text-muted font-18 vertical-middle"></i>Delete</a>`;
|
||||
@ -2142,4 +2227,174 @@ function featchClient() {
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
|
||||
$('#chk-show-expired').on('change', function () {
|
||||
|
||||
const showExpired = $(this).is(':checked');
|
||||
|
||||
let policyTable = '';
|
||||
let data = <?= isset($client_policy) ? json_encode($client_policy) : '[]' ?>;
|
||||
let role = data.role
|
||||
delete data.role;
|
||||
|
||||
console.log("checkbox working");
|
||||
|
||||
$.each(data, function(index, item) {
|
||||
// console.log('step 1');
|
||||
var patternGMC = /gmc/i; // Case insensitive pattern for 'gmc'
|
||||
var patternGPA = /gpa/i; // Case insensitive pattern for 'gpa'
|
||||
var subject = item.policy_type_name;
|
||||
|
||||
//console.log('search terms subject', subject);
|
||||
|
||||
if (patternGMC.test(subject)) {
|
||||
search_term = 'GMC';
|
||||
} else if (patternGPA.test(subject)) {
|
||||
search_term = 'GPA';
|
||||
} else {
|
||||
search_term = subject; // Set default value if neither 'GMC' nor 'GPA' exists
|
||||
}
|
||||
//console.log('search_term :', search_term)
|
||||
|
||||
var enrollmentStatus = '';
|
||||
if (item.inception_type == 1) {
|
||||
|
||||
enrollmentStatus = 'N/A'
|
||||
|
||||
} else if (item.inception_type == 2) {
|
||||
|
||||
if (item.open_for_enrollment == 1) {
|
||||
|
||||
enrollmentStatus = '<a href="#" data-id="' + item.id + '" id="' + item.policy_id +
|
||||
'" class="btnOpenEnroll" data-toggle="tooltip" data-placement="left" title="Click To Close Enrolment">Open</a>'
|
||||
|
||||
|
||||
} else if (item.open_for_enrollment == 0) {
|
||||
|
||||
enrollmentStatus =
|
||||
'<a href="#" data-toggle="tooltip" data-placement="top" title="Click To Open Enrolment" data-id="' +
|
||||
item.id + '" id="' + item.policy_id + '" class="btnOpenEnroll">Closed</a>'
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
var tpaValue = 'TPA Unavailable';
|
||||
|
||||
if (item.tpa_short && item.tpa_branch_code) {
|
||||
tpaValue = item.tpa_short + '-' + item.tpa_branch_code;
|
||||
}
|
||||
|
||||
var policy_name_data = `${item.policy_type_name ?? ''}` + ' - ' + `${item.policy_no ?? ''}`;
|
||||
// console.log("Inside of item "+ JSON.stringify(item,null,2));
|
||||
let auto_si_menu = '';
|
||||
let si_mapping = '';
|
||||
if(item.policy_type_id == 2){
|
||||
auto_si_menu = `<a href="#" data-id="${item.id}" data-typeid="${item.policy_type_id}" class="dropdown-item" onclick="showModal('rack_rate_auto_si_modal'); getRackRateSIAmountAndAutoSiDataForAutoSI('${item.id}')"><i class="mdi mdi-autorenew mr-2 text-muted font-18 vertical-middle"></i>Auto SI</a>`;
|
||||
}
|
||||
if (item.policy_type_id == 3 && item.base_policy != null && item.base_policy != ''){
|
||||
console.log('base policy '+ item.base_policy);
|
||||
si_mapping = `<a href="#" data-id="${item.id}" data-typeid="${item.policy_type_id}" class="dropdown-item" onclick="showModal('si_mapping'); loadModal('${item.id}','${item.base_policy}');"><i class="mdi mdi-swap-horizontal"></i> SI Mapping</a>`;
|
||||
}
|
||||
|
||||
if(showExpired == false && checkDateStatus(item.policy_end_date) != 'Expired'){
|
||||
|
||||
policyTable +=
|
||||
`
|
||||
<tr>
|
||||
<! -- <td>${item.insurer_short} - ${item.insurer_branch_name}</td> -->
|
||||
<td>${policy_name_data}</td>
|
||||
<td>${item.branch_name ? item.branch_name : ' - '}</td>
|
||||
<! -- <td>${tpaValue}</td> -->
|
||||
<td>${(item.policy_start_date)} / ${(item.policy_end_date)}</td>
|
||||
<td style="text-align: center;">${(enrollmentStatus)}</td>
|
||||
<td>${checkDateStatus(item.policy_end_date, 1)}</td>
|
||||
<td>
|
||||
<div class="btn-group dropdown">
|
||||
<a href="javascript: void(0);" class="dropdown-toggle arrow-none btn btn-light btn-sm" data-toggle="dropdown"aria-expanded="false"><i class="mdi mdi-dots-horizontal"></i></a>
|
||||
<div class="dropdown-menu dropdown-menu-right">
|
||||
<a href="#" data-id="${item.id}" id="${item.policy_id}" class="dropdown-item btnPolicyEdit"><i class="mdi mdi-lead-pencil mr-2 text-muted font-18 vertical-middle"></i>Edit</a>
|
||||
<a href="#" data-id="${item.id}" id="${search_term}" data-typeid="${item.policy_type_id}" class="dropdown-item btnPolicyMaster" data-toggle="modal"><i class="mdi mdi-wrench mr-2 text-muted font-18 vertical-middle"></i>Terms</a>
|
||||
<a href="#" data-id="${item.id}" id="${search_term}" data-typeid="${item.policy_type_id}" class="dropdown-item btnPolicyModel" data-toggle="modal" data-target="#bs-example-modal-lg"><i class="mdi mdi-book-open mr-2 text-muted font-18 vertical-middle"></i>Rack Rate</a>
|
||||
${auto_si_menu}
|
||||
${si_mapping}`;
|
||||
// Conditionally render the delete option based on the role
|
||||
if (role != 3 && role != 4) {
|
||||
policyTable +=
|
||||
`
|
||||
<a href="#" data-id="${item.id}" id="${search_term}" data-typeid="${item.policy_type_id}" class="dropdown-item" onclick="removepolicy(this)"><i class="fa fa-trash mr-2 text-muted font-18 vertical-middle"></i>Delete</a>`;
|
||||
}
|
||||
|
||||
policyTable += `
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
`;
|
||||
|
||||
}
|
||||
|
||||
if(showExpired == false && checkDateStatus(item.policy_end_date) != 'Expired'){
|
||||
|
||||
policyTable +=
|
||||
`
|
||||
<tr>
|
||||
<! -- <td>${item.insurer_short} - ${item.insurer_branch_name}</td> -->
|
||||
<td>${policy_name_data}</td>
|
||||
<td>${item.branch_name ? item.branch_name : ' - '}</td>
|
||||
<! -- <td>${tpaValue}</td> -->
|
||||
<td>${(item.policy_start_date)} / ${(item.policy_end_date)}</td>
|
||||
<td style="text-align: center;">${(enrollmentStatus)}</td>
|
||||
<td>${checkDateStatus(item.policy_end_date, 1)}</td>
|
||||
<td>
|
||||
<div class="btn-group dropdown">
|
||||
<a href="javascript: void(0);" class="dropdown-toggle arrow-none btn btn-light btn-sm" data-toggle="dropdown"aria-expanded="false"><i class="mdi mdi-dots-horizontal"></i></a>
|
||||
<div class="dropdown-menu dropdown-menu-right">
|
||||
<a href="#" data-id="${item.id}" id="${item.policy_id}" class="dropdown-item btnPolicyEdit"><i class="mdi mdi-lead-pencil mr-2 text-muted font-18 vertical-middle"></i>Edit</a>
|
||||
<a href="#" data-id="${item.id}" id="${search_term}" data-typeid="${item.policy_type_id}" class="dropdown-item btnPolicyMaster" data-toggle="modal"><i class="mdi mdi-wrench mr-2 text-muted font-18 vertical-middle"></i>Terms</a>
|
||||
<a href="#" data-id="${item.id}" id="${search_term}" data-typeid="${item.policy_type_id}" class="dropdown-item btnPolicyModel" data-toggle="modal" data-target="#bs-example-modal-lg"><i class="mdi mdi-book-open mr-2 text-muted font-18 vertical-middle"></i>Rack Rate</a>
|
||||
${auto_si_menu}
|
||||
${si_mapping}`;
|
||||
// Conditionally render the delete option based on the role
|
||||
if (role != 3 && role != 4) {
|
||||
policyTable +=
|
||||
`
|
||||
<a href="#" data-id="${item.id}" id="${search_term}" data-typeid="${item.policy_type_id}" class="dropdown-item" onclick="removepolicy(this)"><i class="fa fa-trash mr-2 text-muted font-18 vertical-middle"></i>Delete</a>`;
|
||||
}
|
||||
|
||||
policyTable += `
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
`;
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
const table = $('#table-client-policy').DataTable();
|
||||
table.clear().destroy();
|
||||
|
||||
$('#table-client-policy tbody').html(policyTable); // replace tbody content
|
||||
|
||||
$('#table-client-policy').DataTable({
|
||||
paging: true,
|
||||
searching: true,
|
||||
autoWidth: false,
|
||||
responsive: true,
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
Loading…
Reference in New Issue
Block a user