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
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();
|
|
});
|
|
|