FEAT_EDIT_INDIVIDUAL_EMP_AND_VIEW_INDIVIDUAL_E_CARD_SEND_MAIL_E_CARD : RV
This commit is contained in:
parent
0e895de429
commit
a697183acd
@ -304,6 +304,11 @@ $routes->group("/util", ["filter" => "authMVC"], function ($routes) {
|
||||
$routes->get("get_client_policy_list_for_remainder/(:any)", "EmployeeController::get_client_policy_list_for_remainder/$1");
|
||||
$routes->get("get_client_branch_data/(:any)", "ClientController::get_client_branch_data/$1");
|
||||
$routes->get("getLevelContects", "LeadsController::getLevelContects");
|
||||
$routes->get("get_emp_master_data_for_update/(:any)", "EmployeeController::get_emp_master_data_for_update/$1");
|
||||
$routes->get("send_mail_for_individual_employee_ecard/(:any)", "EmployeeController::send_mail_for_individual_employee_ecard/$1");
|
||||
$routes->post("update_emp_data", "EmployeeController::update_emp_data");
|
||||
$routes->get("checkDeletionGetDataFunction", "EmployeeController::checkDeletionGetDataFunction");
|
||||
|
||||
});
|
||||
|
||||
$routes->group("policy_tranction", ["filter" => "authMVC"], function ($routes) {
|
||||
|
||||
@ -4231,7 +4231,7 @@ class EmpDataServiceController extends BaseController
|
||||
return true;
|
||||
}
|
||||
|
||||
public function sendMailForDownloadingECard(array $ids)
|
||||
public function sendMailForDownloadingECard(array $ids, $single_mail = null)
|
||||
{
|
||||
|
||||
$this->myLogger->logme('error', 'sendMailForDownloadingECard - function called');
|
||||
@ -4276,7 +4276,6 @@ class EmpDataServiceController extends BaseController
|
||||
|
||||
$this->myLogger->logme('error', 'sendMailForDownloadingECard - Send Bulk Mail function inside if condition ',);
|
||||
|
||||
|
||||
$rand_string = $get_emp_email_and_other_details['rand_string'];
|
||||
$tpa_id = $get_emp_email_and_other_details['tpa_id'];
|
||||
|
||||
@ -4291,14 +4290,21 @@ class EmpDataServiceController extends BaseController
|
||||
|
||||
if (isset($get_emp_email_and_other_details['email_corporate']) && !empty($get_emp_email_and_other_details['email_corporate']) && $get_emp_email_and_other_details['relationship'] == 'Self') {
|
||||
$wholeData[] = sendMailNotification::sendMailNotification('member_ecard_mail', $params);
|
||||
|
||||
// print_r($wholeData);die;
|
||||
$count++;
|
||||
}
|
||||
|
||||
$counts++;
|
||||
|
||||
|
||||
$this->myLogger->logme('error', 'sendMailForDownloadingECard - counts : {data}', ['data' => $counts]);
|
||||
$this->myLogger->logme('error', 'sendMailForDownloadingECard - count : {data}', ['data' => $count]);
|
||||
$this->myLogger->logme('error', 'sendMailForDownloadingECard - ids count : {data}', ['data' => count($ids)]);
|
||||
$this->myLogger->logme('error', 'sendMailForDownloadingECard - whole count : {data}', ['data' => count($wholeData)]);
|
||||
|
||||
if ($count == 20 || $counts == count($ids) - 1) {
|
||||
|
||||
$this->myLogger->logme('error', 'sendMailForDownloadingECard - ids count : {data}', ['data' => count($ids)]);
|
||||
|
||||
if(count($wholeData) > 0){
|
||||
|
||||
$this->myLogger->logme('error', 'sendMailForDownloadingECard - create a job to bulk mail',);
|
||||
@ -4309,6 +4315,27 @@ class EmpDataServiceController extends BaseController
|
||||
$count = 0;
|
||||
|
||||
}
|
||||
}else{
|
||||
|
||||
// for view member individual employee send self and self family ecard
|
||||
if($single_mail){
|
||||
|
||||
if(count($wholeData) > 0){
|
||||
|
||||
$this->myLogger->logme('error', 'sendMailForDownloadingECard - create a job for single mail to bulk mail function',);
|
||||
|
||||
$mail_send_return = MailHelper::send_email($wholeData[0]);
|
||||
$this->myLogger->logme("info", $mail_send_return);
|
||||
return $mail_send_return;
|
||||
|
||||
// $job_details = new Jobs();
|
||||
// $r = Jobs::addJob(['job_name' => 'bulk_mail', 'payload' => $wholeData]);
|
||||
// $wholeData = [];
|
||||
// $count = 0;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -4329,6 +4356,7 @@ class EmpDataServiceController extends BaseController
|
||||
$this->myLogger->logme('error', 'sendMailForDownloadingECard - the client notification setup not created or not enabled the E-Card Notification');
|
||||
return false;
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
$this->myLogger->logme('error', 'sendMailForDownloadingECard - employee_policy_ids are empty');
|
||||
|
||||
@ -93,8 +93,10 @@ class EmployeeController extends AdminController
|
||||
$filterData = $this->request->getGet();
|
||||
|
||||
// Convert the status field to an array if it exists in the request data
|
||||
if (isset($filterData['status'])) {
|
||||
if (isset($filterData['status']) && !empty($filterData['status'])) {
|
||||
$filterData['status'] = explode(",", $filterData['status']);
|
||||
}else{
|
||||
$filterData['status'] = [];
|
||||
}
|
||||
|
||||
// Fetch employees with the modified $filterData array
|
||||
@ -1709,4 +1711,79 @@ class EmployeeController extends AdminController
|
||||
return $this->respond(['status' => true, 'code' => 200, 'data' => $policies], 200);
|
||||
|
||||
}
|
||||
|
||||
|
||||
//-------- Edit individual employee and View & Send E-card -----------------------------------------------------------------------------------------
|
||||
|
||||
public function get_emp_master_data_for_update($id)
|
||||
{
|
||||
$employee_data = $this->employeeModel->select("employees.*, DATE_FORMAT(dob, '%d/%m/%Y') AS formatted_dob,")->where('id', $id)->first();
|
||||
|
||||
if ($employee_data) {
|
||||
return $this->respond(['status' => true,'code' => 200,'data' => $employee_data,], 200);
|
||||
} else {
|
||||
return $this->respond(['status' => false, 'code' => 404, 'message' => 'No data found.'], 404);
|
||||
}
|
||||
}
|
||||
|
||||
public function update_emp_data()
|
||||
{
|
||||
$data = $this->request->getPost();
|
||||
|
||||
$data['dob'] = date('Y-m-d', strtotime($data['dob']));
|
||||
|
||||
// Fetch current employee data
|
||||
$employee_data = $this->employeeModel->where('id', $data['employee_primary_id'])->first();
|
||||
|
||||
if ($employee_data['relationship'] == 'Self') {
|
||||
|
||||
if ($employee_data['gender'] != $data['gender']) {
|
||||
|
||||
$spouse_gender = ($data['gender'] == 'M') ? 'F' : 'M';
|
||||
$this->employeeModel
|
||||
->where('emp_code', $employee_data['emp_code'])
|
||||
->where('relationship', 'Spouse')
|
||||
->set(['gender' => $spouse_gender])
|
||||
->update();
|
||||
}
|
||||
}
|
||||
|
||||
// Update the employee data
|
||||
$result = $this->employeeModel->where('id', $data['employee_primary_id'])->set($data)->update();
|
||||
|
||||
if ($result) {
|
||||
return $this->respond(['status' => true, 'code' => 200, 'data' => $data, 'message' => 'Employee updated successfully'], 200);
|
||||
} else {
|
||||
return $this->respond(['status' => false, 'code' => 404, 'message' => 'Failed to update employee.'], 404);
|
||||
}
|
||||
}
|
||||
|
||||
public function send_mail_for_individual_employee_ecard($id)
|
||||
{
|
||||
$ids[] = $id;
|
||||
$empDataServiceController = new EmpDataServiceController();
|
||||
$result = $empDataServiceController->sendMailForDownloadingECard($ids, 1);
|
||||
|
||||
if ($result) {
|
||||
return $this->respond(['status' => true,'code' => 200,'message' => 'Mail sent successfully', 'result' => $result,], 200);
|
||||
} else {
|
||||
return $this->respond(['status' => false, 'code' => 404, 'message' => 'Failed to sent mail.'], 404);
|
||||
}
|
||||
}
|
||||
|
||||
public function checkDeletionGetDataFunction()
|
||||
{
|
||||
$batch_data = [
|
||||
'client_id' => 77,
|
||||
'client_policy_id' => 203,
|
||||
'client_branch_id' => 53,
|
||||
'insurer_or_tpa' => 'tpa',
|
||||
];
|
||||
|
||||
$result = $this->employeePolicyModel->getDeletionEmployeeDataForExportExcel($batch_data);
|
||||
|
||||
print_rr($result); die;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -76,7 +76,7 @@ class EmployeePolicyModel extends Model
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------------------------------------
|
||||
public function getEmployeePolicy($client_id = 0, $policy_id=0, $status=0, $branch_id=0, $emp_code="", $emp_name="")
|
||||
public function getEmployeePolicy($client_id = 0, $policy_id=0, $status=[], $branch_id=0, $emp_code="", $emp_name="")
|
||||
{
|
||||
// dd($status);
|
||||
|
||||
@ -91,6 +91,7 @@ class EmployeePolicyModel extends Model
|
||||
'tpab.branch_code as tpa_branch_code',
|
||||
'cm.client_name',
|
||||
'cm.short_name as client_short_name',
|
||||
'emp.id as employee_primary_id',
|
||||
'emp.relationship',
|
||||
'emp.relationship_code',
|
||||
'emp.change_event',
|
||||
@ -98,6 +99,7 @@ class EmployeePolicyModel extends Model
|
||||
'emp.name',
|
||||
'emp.email_corporate',
|
||||
'emp.dob',
|
||||
'DATE_FORMAT(emp.dob, "%d/%m/%Y") AS formatted_dob',
|
||||
'emp.gender',
|
||||
'emp.emp_status',
|
||||
'emp.is_active as emp_is_active',
|
||||
@ -552,6 +554,27 @@ class EmployeePolicyModel extends Model
|
||||
$client_branch_id = $ref_data['client_branch_id'];
|
||||
$insurer_or_tpa = $ref_data['insurer_or_tpa'];
|
||||
|
||||
$get_insurer_id_from_client_policy = $this->db->table('client_policy')
|
||||
->select('insurer_id')
|
||||
->where('id', $client_policy_id)
|
||||
->get()
|
||||
->getRowArray();
|
||||
|
||||
$add_one_day = 0;
|
||||
|
||||
if (!empty($get_insurer_id_from_client_policy)) {
|
||||
|
||||
$get_the_insurer_add_one_for_delete = $this->db->table('insurers')
|
||||
->select('deletion_add_day')
|
||||
->where('id', $get_insurer_id_from_client_policy['insurer_id'])
|
||||
->get()
|
||||
->getRowArray();
|
||||
|
||||
if (!empty($get_the_insurer_add_one_for_delete) && $get_the_insurer_add_one_for_delete['deletion_add_day'] == 1) {
|
||||
$add_one_day = 1;
|
||||
}
|
||||
}
|
||||
|
||||
$query = $this->db->query("
|
||||
SELECT DISTINCT
|
||||
a.id as endorsement_primarykey,
|
||||
@ -591,10 +614,10 @@ class EmployeePolicyModel extends Model
|
||||
deletiondata.reasonforexit,
|
||||
deletiondata.status,
|
||||
|
||||
DATEDIFF(employee_polices.policy_end_date, deletiondata.dateofexit) + 1 AS no_of_days,
|
||||
ROUND((employee_polices.rata_premimum * (DATEDIFF(employee_polices.policy_end_date, deletiondata.dateofexit) + 1)) / 365, 2) AS pro_rata_premium,
|
||||
ROUND(((employee_polices.rata_premimum * (DATEDIFF(employee_polices.policy_end_date, deletiondata.dateofexit) + 1)) / 365) * 0.18, 2) AS gst,
|
||||
ROUND(((employee_polices.rata_premimum * (DATEDIFF(employee_polices.policy_end_date, deletiondata.dateofexit) + 1)) / 365) + (((employee_polices.rata_premimum * (DATEDIFF(employee_polices.policy_end_date, deletiondata.dateofexit) + 1)) / 365) * 0.18), 2) AS total
|
||||
DATEDIFF(employee_polices.policy_end_date, deletiondata.dateofexit) + '$add_one_day' AS no_of_days,
|
||||
ROUND((employee_polices.rata_premimum * (DATEDIFF(employee_polices.policy_end_date, deletiondata.dateofexit) + $add_one_day)) / 365, 2) AS pro_rata_premium,
|
||||
ROUND(((employee_polices.rata_premimum * (DATEDIFF(employee_polices.policy_end_date, deletiondata.dateofexit) + $add_one_day)) / 365) * 0.18, 2) AS gst,
|
||||
ROUND(((employee_polices.rata_premimum * (DATEDIFF(employee_polices.policy_end_date, deletiondata.dateofexit) + $add_one_day)) / 365) + (((employee_polices.rata_premimum * (DATEDIFF(employee_polices.policy_end_date, deletiondata.dateofexit) + $add_one_day)) / 365) * 0.18), 2) AS total
|
||||
FROM
|
||||
emp_endorsement a
|
||||
LEFT JOIN
|
||||
|
||||
@ -78,6 +78,7 @@
|
||||
<th class="font-weight-medium">(₹)Premium</th>
|
||||
<th class="font-weight-medium" id="rata_premium" data-toggle="tooltip" data-placement="top">(₹)Pro Rata <br> Premium</th>
|
||||
<th class="font-weight-medium" id="gst" data-toggle="tooltip" data-placement="top">(₹)GST</th>
|
||||
<th class="font-weight-medium" > Action </th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
@ -135,6 +136,26 @@
|
||||
<td><?php echo format_indian_number($employee['premium']); ?></td>
|
||||
<td><?php $pro_rata_total += $employee['rata_premimum']; echo format_indian_number($employee['rata_premimum']); ?></td>
|
||||
<td><?php $gst_total += $employee['gst']; echo format_indian_number($employee['gst']); ?></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">
|
||||
|
||||
<?php if(($employee['emp_status'] == 'draft' || $employee['emp_status'] == 'enrolled') && ($employee['status'] == 'draft' || $employee['status'] == 'enrolled')) { ?>
|
||||
<a class="dropdown-item" onclick="get_emp_master_data_for_update(this, '<?= $employee['employee_primary_id'];?>')" ><i class="mdi mdi-pencil mr-2 text-muted font-18 vertical-middle"></i>Edit</a>
|
||||
<?php } ?>
|
||||
|
||||
<?php if($employee['policy_type'] == 'GMC' && $employee['emp_status'] == 'active' && $employee['status'] == 'active' && !empty($employee['tpa_id'])) { ?>
|
||||
<a href="<?= base_url('download-e-card/'). $employee['rand_string'] ?>" class="dropdown-item" target="_blank"><i class="mdi mdi-eye mr-2 text-muted font-18 vertical-middle"></i>View E-Card</a>
|
||||
<?php } ?>
|
||||
|
||||
<?php if($employee['policy_type'] == 'GMC' && $employee['relationship'] == 'Self' && $employee['emp_status'] == 'active' && $employee['status'] == 'active' && !empty($employee['tpa_id'])) { ?>
|
||||
<a class="dropdown-item" onclick="send_mail_for_individual_employee_ecard('<?= $employee['id'];?>')" ><i class="mdi mdi-email-alert mr-2 text-muted font-18 vertical-middle"></i>Send E-Card Mail</a>
|
||||
<?php } ?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<?php } } ?>
|
||||
</tbody>
|
||||
@ -159,9 +180,11 @@
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th>Total</th>
|
||||
<th><?php echo format_indian_number($pro_rata_total); ?></th>
|
||||
<th><?php echo format_indian_number($gst_total); ?></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
@ -170,7 +193,82 @@
|
||||
</div><!-- end col -->
|
||||
</div>
|
||||
|
||||
<!-- modal content -->
|
||||
|
||||
<div id="emp_modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="display: none;">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title">Edit Employee</h4>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
</div>
|
||||
|
||||
<div class="modal-body p-4">
|
||||
<form role="form" class="parsley-examples" id="empForm" onsubmit="update_emp_master_data_submit_function(event, this)" enctype="multipart/form-data">
|
||||
|
||||
<input type="hidden" name="employee_primary_id" id="employee_primary_id"/>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-4">
|
||||
<label for="emp_code">Employee Code<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="emp_code_for_edit" placeholder="Enter Code" readonly>
|
||||
</div>
|
||||
|
||||
<div class="form-group col-md-8">
|
||||
<label for="name">Name<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="name" placeholder="Ente Name" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
|
||||
<div class="form-group col-md-6">
|
||||
<label for="gender">Gender <span class="text-danger">*</span></label>
|
||||
<select class="form-control" id="gender" name="gender" required disabled>
|
||||
<option value="">Select Gender</option>
|
||||
<option value="M">Male</option>
|
||||
<option value="F">Female</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="form-group col-md-6">
|
||||
<label for="dob">Date of Birth<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="dob" placeholder="Enter DOB" name="dob" required>
|
||||
</div>
|
||||
|
||||
<div class="form-group col-md-12">
|
||||
<label for="email">Email<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="email_corporate" placeholder="Enter Email" name="email_corporate" data-parsley-trigger="change" data-parsley-type="email" required>
|
||||
</div>
|
||||
|
||||
<div class="form-group col-md-12">
|
||||
<label for="mobile">Mobile Number<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="mobile" placeholder="Enter Mobile Number" name="mobile" onkeypress = "return onlyNumbers(event)" maxlength="10" minlength="10" required>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group text-right m-b-0">
|
||||
<button type="submit" class="btn btn-primary waves-effect waves-light mr-1" id="btnSubmit">Submit</button>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- /.modal -->
|
||||
|
||||
<script>
|
||||
|
||||
$(document).ready(function(){
|
||||
|
||||
var dob = flatpickr("#dob", {
|
||||
dateFormat: "d/m/Y",
|
||||
allowInput: false
|
||||
});
|
||||
})
|
||||
|
||||
$(document).ready(function() {
|
||||
var ticketsTable = $('#tickets-table');
|
||||
|
||||
@ -200,4 +298,183 @@
|
||||
console.error("Table not found.");
|
||||
}
|
||||
});
|
||||
|
||||
function get_emp_master_data_for_update(input, id){
|
||||
|
||||
get_emp_master_data_for_update_ajax(id)
|
||||
|
||||
}
|
||||
|
||||
function get_emp_master_data_for_update_ajax(id){
|
||||
|
||||
$('.loader').fadeIn();
|
||||
$('.loader-mask').fadeIn();
|
||||
|
||||
$.ajax({
|
||||
url: '<?php echo base_url('util/get_emp_master_data_for_update/');?>'+id,
|
||||
type: "GET",
|
||||
dataType: 'json',
|
||||
success: function (res) {
|
||||
|
||||
console.log('get_emp_master_data_for_update response', res)
|
||||
|
||||
$('.loader').fadeOut();
|
||||
$('.loader-mask').delay(350).fadeOut('slow');
|
||||
|
||||
let data = res.data
|
||||
|
||||
if(res.status == true){
|
||||
|
||||
if(data.relationship == 'Self'){
|
||||
$('#gender').prop('disabled', false)
|
||||
}else{
|
||||
$('#gender').prop('disabled', true)
|
||||
}
|
||||
|
||||
$('#employee_primary_id').val(data.id);
|
||||
$('#emp_code_for_edit').val(data.emp_code);
|
||||
$('#name').val(data.name);
|
||||
$('#gender').val(data.gender);
|
||||
$('#dob').val(data.formatted_dob);
|
||||
$('#email_corporate').val(data.email_corporate);
|
||||
$('#mobile').val(data.mobile);
|
||||
|
||||
var myModal = new bootstrap.Modal(document.getElementById('emp_modal'));
|
||||
myModal.show();
|
||||
|
||||
}else{
|
||||
$('#employee_primary_id').val('');
|
||||
$('#emp_code_for_edit').val('');
|
||||
$('#name').val('');
|
||||
$('#gender').val('');
|
||||
$('#dob').val('');
|
||||
$('#email_corporate').val('');
|
||||
$('#mobile').val('');
|
||||
|
||||
toastr.warning(res.message, 'WARNING');
|
||||
}
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
|
||||
$('.loader').fadeOut();
|
||||
$('.loader-mask').delay(350).fadeOut('slow');
|
||||
|
||||
console.error(xhr.responseText);
|
||||
console.error(status, error);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function update_emp_master_data_submit_function(event, form){
|
||||
|
||||
event.preventDefault(); // Prevent the default form submission
|
||||
|
||||
var isValid = $(form).parsley().validate();
|
||||
if (!isValid) {
|
||||
console.log('Form is Empty', 'Warning');
|
||||
return ;
|
||||
}
|
||||
|
||||
const formData = new FormData(form);
|
||||
|
||||
const submitButton = form.querySelector('button[type="submit"]');
|
||||
submitButton.disabled = true;
|
||||
submitButton.innerText = 'Updating...';
|
||||
|
||||
$('.loader').fadeIn();
|
||||
$('.loader-mask').fadeIn();
|
||||
|
||||
// AJAX request to update the individual employee
|
||||
$.ajax({
|
||||
url: '<?= base_url('/util/update_emp_data') ?>',
|
||||
type: 'POST',
|
||||
data: formData,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
success: function(response) {
|
||||
|
||||
console.log(response)
|
||||
$('.loader').fadeOut();
|
||||
$('.loader-mask').delay(350).fadeOut('slow');
|
||||
|
||||
if(response.status == true){
|
||||
toastr.success(response.message, 'SUCCESS');
|
||||
|
||||
$('.close').click();
|
||||
|
||||
$('#employee_primary_id').val('');
|
||||
$('#emp_code_for_edit').val('');
|
||||
$('#name').val('');
|
||||
$('#gender').val('');
|
||||
$('#dob').val('');
|
||||
$('#email_corporate').val('');
|
||||
$('#mobile').val('');
|
||||
|
||||
window.location.reload();
|
||||
|
||||
}else{
|
||||
toastr.error(response.message, 'ERROR');
|
||||
}
|
||||
},
|
||||
error: function(xhr, status, error) {
|
||||
$('.loader').fadeOut();
|
||||
$('.loader-mask').delay(350).fadeOut('slow');
|
||||
// Handle error
|
||||
console.error('Upload error occurred:');
|
||||
console.error('Status: ', status); // Status of the request
|
||||
console.error('Error: ', error); // Specific error message
|
||||
console.error('XHR Object: ', xhr); // Full XHR object with response details
|
||||
|
||||
// Optionally log server response, if available
|
||||
if (xhr.responseText) {
|
||||
console.error('Response Text: ', xhr.responseText);
|
||||
}
|
||||
|
||||
toastr.warning('Error uploading file', 'WARNING');
|
||||
console.error('Upload error:', error);
|
||||
},
|
||||
complete: function() {
|
||||
$('.loader').fadeOut();
|
||||
$('.loader-mask').delay(350).fadeOut('slow');
|
||||
// Re-enable the submit button and reset its text
|
||||
submitButton.disabled = false;
|
||||
submitButton.innerText = 'Submit';
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function send_mail_for_individual_employee_ecard(id){
|
||||
|
||||
$('.loader').fadeIn();
|
||||
$('.loader-mask').fadeIn();
|
||||
|
||||
$.ajax({
|
||||
|
||||
url: '<?php echo base_url('util/send_mail_for_individual_employee_ecard/');?>'+id,
|
||||
type: "GET",
|
||||
dataType: 'json',
|
||||
success: function (res) {
|
||||
|
||||
console.log('send_mail_for_individual_employee_ecard response', res)
|
||||
|
||||
$('.loader').fadeOut();
|
||||
$('.loader-mask').delay(350).fadeOut('slow');
|
||||
|
||||
if(res.status == true){
|
||||
toastr.success(res.message, 'SUCCESS');
|
||||
}else{
|
||||
toastr.error(res.message, 'ERROR');
|
||||
}
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
|
||||
$('.loader').fadeOut();
|
||||
$('.loader-mask').delay(350).fadeOut('slow');
|
||||
|
||||
console.error(xhr.responseText);
|
||||
console.error(status, error);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user