You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

249 lines
10 KiB

var table_id = $("table#resend_email_table");
var modal_resend_email = $("#resend_email");
var btn_close = $("#btn_resend_email_close");
var btn_send = $("#btn_resend_email_send");
const event_resend_email = {
onreset : function(retain){
$("input#email_type_id").val('');
$('input#select-all-send').prop('checked',false);
if(!retain){
$("input#event_schedule_id").val('');
}
},
check_uncheck : function(e,index){
var checked = $('.ref-ids-'+index);
if(!checked.prop("checked")){ //unchecked
if(index.toString()=="01"){
$(".ref-ids").prop("checked", false);
}else{
$(".ref-ids"+'-01').prop("checked", false);
checked.prop("checked", false);
}
}else { //checked
if(index.toString()=="01"){
$(".ref-ids").prop("checked", true);
}else{
$('.invitee-01').prop("checked", false);
checked.prop("checked", true);
}
}
//check if all rows are checked
var get_all_rows = $(".ref-ids-01").data("rows");
if($(".ref-ids:checked").length == parseInt(get_all_rows) && get_all_rows >0){
$(".ref-ids-01").prop("checked", true);
}
},
"confirm_resend" : function(recipients){
app.modal.confirm_box({
"message" : "Resend <b>"+$("#sel_template_type option:selected").text()+"</b> email to "+recipients+" subscriber"+((recipients>1)?"s":"")+"?",
"_continue" : function() {
Helper.help.ajax_loader( app.get_vars().baseurl+"insert_reference_id", "post" ,
$('form#form_resend_email').serialize() , " Chargement" ,function(result){
app._notify(result.mtype, result.message);
if( result.mtype == 'success'){
$('table#resend_email_table').DataTable().ajax.reload(null, false);
$(".ref-ids-01").prop("checked", false);
}
});
},
"id" : "delete_confirm_box",
"className" : "delete_confirm_box"
});
},
"remove_from_onqueue" : function(email_recipient_id) {
app.modal.confirm_box({
"message" : "Remove email from queue?",
"_continue" : function() {
Helper.help.ajax_loader( app.get_vars().baseurl+"cancel_resend_email", "post" ,
{"email_recipient_id" : email_recipient_id} , " Chargement" ,function(result){
app._notify(result.mtype, result.message);
if(result.mtype == "success"){
$('table#resend_email_table').DataTable().ajax.reload(null, false);
$(".ref-ids-01").prop("checked", false);
}
});
},
"id" : "delete_confirm_box",
"className" : "delete_confirm_box"
});
},
create_select : function() {
var opts;
Helper.help.ajax( app.get_vars().baseurl+"get_email_template_type", 'post' ,
false , function(result){
Helper.help.loop( result , function(i,v){
opts += '<option value="'+v.email_type_id+'">'+v.email_type+'</option>';
});
$("select#sel_template_type").append(opts);
});
$("div#resend_email_table_filter").append("<select class='form-control pull-left' id='sel_template_type'></select>");
},
select_email_type :function(event_schedule_id) {
$("#sel_template_type").off('change').on('change', function() {
if ($(this).val() > 0){
var val = $(this).val();
event_resend_email.onreset(true);
$('input#select-all-send').prop('checked',false);
$("input#email_type_id").val(val);
$('table#resend_email_table').DataTable().ajax.url(app.get_vars().baseurl+'list_resend_email/'+val+'/'+event_schedule_id).load();
Helper.dtable.console_alert("table#resend_email_table", function(err){
console.log(err);
});
}
});
},
dTable : function(email_type_id, event_schedule_id){
$('table#resend_email_table').DataTable({
"lengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]],
"searching": true,
"paging": true,
// "pagingType": "full_numbers",
"bInfo" : false,
"autoWidth": false,
"responsive": true,
"processing": false,
"serverSide": true,
"order": [0],
"oLanguage": fr_onload_lang.oLanguage,
"ajax": {
"url": app.get_vars().baseurl+"list_resend_email/"+email_type_id+"/"+event_schedule_id, "type": "POST"
},
"destroy" : true ,
"columns": [
{ "data": "reference_id", orderable : false, render : function(data, type, full, meta){
switch(full.email_status){
case '1': //SENT
var chekbox = "<input onclick='event_resend_email.check_uncheck(this, "+meta.row+");' style='cursor: pointer;' type='checkbox' class='ref_ids-"+meta.row+" ref-ids' name ='reference_id[]' value='"+full.reference_id+"'>"
break;
case '0' || '2' || '3':// ONQUEUE
var chekbox = '<span onclick="event_resend_email.remove_from_onqueue('+full.email_recipient_id+');" title="Cancel email" class="btn btn-danger btn-xs"><span class="fa fa-fw fa-power-off"></span></span>';
break;
default:
var chekbox = "<input onclick='event_resend_email.check_uncheck(this, "+meta.row+");' style='cursor: pointer;' type='checkbox' class='ref_ids-"+meta.row+" ref-ids' name ='reference_id[]' value='"+full.reference_id+"'>"
break;
}
return '<div class="row-fluid"><div class="span4 offset4 text-center">'+chekbox+'</div></div>';
}},
{ "data": "last_name"},
{ "data": "first_name"},
{ "data": "email"},
{ "data": "email_status" , render : function(data, type, full, meta){
var chekbox = "";
var Email_status ="";
switch(data){
case '1': Email_status = (full.email_description).toUpperCase();
break;
case '0': Email_status ="ONQUEUE";
break;
case '2': Email_status ="Email invalide";
break;
case '3': Email_status ="BLOCKED";
break;
default: Email_status ="";
break;
}
return '<div class="row-fluid"><div class="span4 offset4 text-center">'+Email_status+'</div></div>';
}}
],
"fnDrawCallback": function() {
$(".ref-ids-01").data("rows", $("input.ref-ids").length);
}
});
Helper.dtable.console_alert("table#resend_email_table", function(err){
console.log(err);
});
},
get_default_template : function(callback) {
Helper.help.ajax( app.get_vars().baseurl+"get_email_template_type", 'post' ,
false , function(result){
Helper.help.loop( result , function(i,v){
callback( i , v );
});
});
},
set_default_template : function(){
//get first index of email_template_id and append as default selected option
event_resend_email.get_default_template(function(i, v){
if( i === 0){
//console.log( v.email_type_id )
$("input#email_type_id").val( v.email_type_id );
}
})
},
redirect_noshow : function(event_id,event_schedule_id) {
window.location.href = app.get_vars().baseurl+'attendance/'+event_id+'/'+event_schedule_id;
},
modal : function(event_schedule_id) {
//show modal resend email modal
modal_resend_email.modal('show');
//default select email type
$("input#email_type_id").val(3);
//append event schedule id
$("input#event_schedule_id").val(event_schedule_id);
//create datatable with default values
event_resend_email.dTable(3, event_schedule_id);
//create select options template
event_resend_email.create_select();
//reload datatable after selecting template type
event_resend_email.select_email_type(event_schedule_id);
$("#btn_resend_email_send").off("click").on('click' , function(e){
var count_checked = $(".ref-ids:checked").length;
if(count_checked<=0){
app._notify("warning", "S'il vous plaît sélectionner le destinataire!");
} else {
event_resend_email.confirm_resend(count_checked);
}
return false;
});
//destroy datable caches
modal_resend_email.on('hidden.bs.modal', function () {
//destroy table
$('table#resend_email_table').DataTable().clear();
table_id.dataTable().fnDestroy();
//get default template
// event_resend_email.set_default_template();
$(this).data('bs.modal', null);
$(this).off('hidden.bs.modal');
});
}
}
$(function() {
//get default template
event_resend_email.set_default_template();
});