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.
306 lines
15 KiB
306 lines
15 KiB
const table_template = $('#event_email_template');
|
|
|
|
const assign_email_template = (function ($, window, jQuery) {
|
|
return {
|
|
onresetcomplete : function()
|
|
{
|
|
$("#search_form_templates_").find("input").val('');
|
|
$("#send_email").find("input").val('');
|
|
},
|
|
onclose : function()
|
|
{
|
|
$("input#event-id-type").val('');
|
|
$("#event_email_template tbody#templates_body tr").remove();
|
|
},
|
|
isbydefault : function(types,event_schedule_id)
|
|
{
|
|
var isbydefault = $("button#isbydefault");
|
|
var div_hidden_by_default = $("div#hidden_by_default");
|
|
var yes = $("input#yes");
|
|
var no = $("input#no");
|
|
|
|
if(types == 'events'){
|
|
Helper.help.ajax( app.get_vars().baseurl+"check_default_template/"+event_schedule_id, 'post' ,
|
|
false , function(result){
|
|
if( result.active )
|
|
yes.attr("checked",true);
|
|
else
|
|
no.attr("checked",true);
|
|
});
|
|
isbydefault.click(function(){
|
|
|
|
var class_yes = $("input:radio[class='yes']").is(":checked");
|
|
var class_no = $("input:radio[class='no']").is(":checked");
|
|
var status;
|
|
|
|
if( class_yes )
|
|
status = 1 ;
|
|
else if( class_no )
|
|
status = 0;
|
|
|
|
Helper.help.ajax( app.get_vars().baseurl+"update_default_template/"+event_schedule_id, 'post' ,
|
|
"default="+status, function(result){
|
|
if( result.updated ) app._notify(result.mtype, result.message);
|
|
});
|
|
})
|
|
}else{
|
|
div_hidden_by_default.hide();
|
|
}
|
|
},
|
|
save : function()
|
|
{
|
|
var form = $("#search_form_templates_");
|
|
var template_id = $("input#templates_id");
|
|
var types = $("input#event-id-type").val().trim();
|
|
var template_id_value = $("input#template-id-value").val().trim();
|
|
var event_id_value = $("input#event-id-value").val().trim();
|
|
var table_id = $("#search_email_templates_");
|
|
if(template_id.val().trim() == "" /*|| types == ""*/ || template_id_value =="" || event_id_value =="") {
|
|
app._notify("warning", "Email template is required");
|
|
template_id.focus();
|
|
} else {
|
|
app.modal.confirm_box({
|
|
"message" : "Attribuer un modèle d'e-mail ?",
|
|
"_continue" : function() {
|
|
Helper.help.ajax( app.get_vars().baseurl+"assign_template_event_schedule/"+types, 'post' ,
|
|
form.serialize() , function(result){
|
|
if( app.isalive(result) ){
|
|
table_id.modal('hide');
|
|
$('#event_email_template').DataTable().ajax.reload(null, false);
|
|
}
|
|
});
|
|
},
|
|
"id" : "delete_confirm_box",
|
|
"className" : "delete_confirm_box"
|
|
});
|
|
}
|
|
},
|
|
disable_email_template : function(event,email_status_id,types,status)
|
|
{
|
|
event.preventDefault();
|
|
app.modal.confirm_box({
|
|
"message" : ( ( status < 1) ? "Désactiver le modèle ? " : "Activer le modèle ? " ),
|
|
"_continue" : function() {
|
|
Helper.help.ajax( app.get_vars().baseurl+"remove_template_event_schedule/"+email_status_id+"/"+types+"/"+status, 'post' ,
|
|
false, function(result){
|
|
$('#event_email_template').DataTable().clear().draw();
|
|
});
|
|
},
|
|
"id" : "delete_confirm_box",
|
|
"className" : "delete_confirm_box"
|
|
});
|
|
},
|
|
send : function(event,event_schedule_id,email_mapping_id,types,template_name)
|
|
{
|
|
event.preventDefault();
|
|
app.modal.confirm_box({
|
|
"message" : template_name,
|
|
"_continue" : function() {
|
|
Helper.help.ajax( app.get_vars().baseurl+"remove_template_event_schedule/"+email_mapping_id+"/"+types, 'post' ,
|
|
false, function(result){
|
|
$('#event_email_template').DataTable().clear().draw();
|
|
});
|
|
},
|
|
"id" : "delete_confirm_box",
|
|
"className" : "delete_confirm_box"
|
|
});
|
|
},
|
|
search : function(event,event_schedule_id,email_type_id,types,defaults, event_id)
|
|
{
|
|
event.preventDefault();
|
|
var form = $("#search_form_templates_");
|
|
var table_id = $("#search_email_templates_");
|
|
var input_id = $("#templates_id");
|
|
var input_hidden = $("input#template-id-value");
|
|
var event_id_hidden = $("input#event-id-value");
|
|
var event_id_type = $("input#event-id-type");
|
|
$("input#event-id").val(event_id);
|
|
|
|
if( defaults.toLowerCase() != "yes"){
|
|
app._notify("warning", "Veuillez réinitialiser le premier modèle d'e-mail");
|
|
}else{
|
|
table_id.modal({backdrop: 'static',keyboard : true}).on('shown.bs.modal', function() {
|
|
event_id_hidden.val(event_schedule_id);
|
|
var options = {
|
|
url: app.get_vars().baseurl+"search_by_template_id/"+email_type_id,
|
|
getValue: "template_name",
|
|
list: {
|
|
onSelectItemEvent: function() {
|
|
var value = input_id.getSelectedItemData().template_id;
|
|
input_hidden.val(value).trigger("change");
|
|
var type_value = types;
|
|
event_id_type.val(type_value).trigger("change");
|
|
},
|
|
match: {
|
|
enabled: true
|
|
}
|
|
}
|
|
};
|
|
input_id.easyAutocomplete(options);
|
|
|
|
}).on('hidden.bs.modal', function () {
|
|
assign_email_template.onresetcomplete();
|
|
app._form._resetFormValidation("#search_form_templates_");
|
|
});
|
|
}
|
|
},
|
|
search_email : function(event,email_type_id)
|
|
{
|
|
event.preventDefault();
|
|
var modal_email = $("#send_email_table");
|
|
$("input#email_type_id").val(email_type_id);
|
|
modal_email.modal({backdrop: 'static',keyboard : true}).on('shown.bs.modal', function() {
|
|
|
|
}).on('hidden.bs.modal', function () {
|
|
assign_email_template.onresetcomplete();
|
|
app._form._resetFormValidation("#send_email");
|
|
});
|
|
},
|
|
send_email : function()
|
|
{
|
|
var email = $("input#test_email").val();
|
|
var options = {
|
|
boot_box: {
|
|
"message": "Envoyer un e-mail de test à : "+email+" ?",
|
|
"_continue": function () {
|
|
var email_type_id = $("input#email_type_id").val();
|
|
var event_data = $("#assign_email_template_").data("event_data");
|
|
Helper.help.ajax_loader( app.get_vars().baseurl+"send_test_email/"+email+"/"+email_type_id+"/"+event_data.event_id+"/"+event_data.event_schedule_id, 'post' ,
|
|
false, "Envoyer un e-mail de test", function(result){
|
|
if(app.isalive(result)){
|
|
app._notify(result.mtype, result.message);
|
|
if(result.mtype=="success"){
|
|
$("#send_email_table").modal("hide");
|
|
}
|
|
}
|
|
});
|
|
}
|
|
},
|
|
"validation" : {
|
|
"form_id": "form#send_email",
|
|
"ignore" : ".ignore",
|
|
"rules": {
|
|
"test_email": {
|
|
"required": true,
|
|
"email" : true
|
|
}
|
|
}
|
|
}
|
|
};
|
|
|
|
app._form._validate(options);
|
|
},
|
|
table : function(types,event_schedule_id)
|
|
{
|
|
//console.log(app.get_vars().baseurl+"event_assigned_email_template/"+event_schedule_id+"/"+types);
|
|
visibility = ( types === 'events' ? true : false ) ;
|
|
|
|
table_template.DataTable({
|
|
"searching": false,
|
|
"paging": false,
|
|
"bInfo" : false,
|
|
"autoWidth": false,
|
|
"responsive": true,
|
|
"processing": true,
|
|
"serverSide": true,
|
|
"order": [0],
|
|
"oLanguage": fr_onload_lang.oLanguage,
|
|
"ajax": {
|
|
"url": app.get_vars().baseurl+"event_assigned_email_template/"+event_schedule_id+"/"+types,
|
|
"type": "POST"
|
|
},
|
|
"columns": [
|
|
{ "data": "no" , "sortable" : false },
|
|
{ "data": "template_type" , "sortable" : false},
|
|
{ "data": "template_name" , "sortable" : false},
|
|
{ "data": "default" , "sortable" : false },
|
|
{ "data": "template_id" , render : function(data, type, full, meta){
|
|
var action_btns = "" ;
|
|
var template_name = escape(full.template_name); //escape backslash
|
|
var disableBtn = false //full.email_status > 0 ? false : true;
|
|
if(full.default=="OUI")
|
|
full.default="YES"
|
|
else
|
|
full.default="NO"
|
|
|
|
const event_id = $("#assign_email_template_").data("event_data").event_id
|
|
if( full.template_id =="" ) //already have template
|
|
assign_tmpl = "assign_email_template.search(event,"+event_schedule_id+","+full.email_type_id+",'"+types+"','"+full.default+"','"+event_id+"')";
|
|
else
|
|
assign_tmpl ="assign_email_template.search(event,"+event_schedule_id+","+full.email_type_id+",'"+types+"','"+full.default+"','"+event_id+"')";
|
|
|
|
if (authorize(PAGE_CODE['events'], PRIVS[PAGE_CODE['events']]['sched_email_template_edit'])) {
|
|
action_btns +=app.grid.create_action_btn(app.get_vars()._app.action._edit, "pencil", "success", ((disableBtn) ? "" : assign_tmpl) , ((disableBtn)?"disabled":"") );
|
|
}
|
|
if (authorize(PAGE_CODE['events'], PRIVS[PAGE_CODE['events']]['sched_email_template_reset'])) {
|
|
action_btns +=app.grid.create_action_btn(app.get_vars()._app.action._reset, "refresh", "danger", ((disableBtn) ? "" : "assign_email_template.email_reset_template(event,"+event_schedule_id+","+full.email_type_id+",'"+types+"','"+template_name+"','"+event_id+"')") , ((disableBtn)?"disabled":""));
|
|
}
|
|
if (authorize(PAGE_CODE['events'], PRIVS[PAGE_CODE['events']]['sched_email_template_resend'])) {
|
|
action_btns +=app.grid.create_action_btn(app.get_vars()._app.action._send, "send", "success", ((disableBtn) ? "" : "assign_email_template.search_email(event,"+full.email_type_id+")") , ((disableBtn)?"disabled":""));
|
|
}
|
|
if (authorize(PAGE_CODE['events'], PRIVS[PAGE_CODE['events']]['sched_email_template_remove'])) {
|
|
action_btns +=app.grid.create_action_btn(app.get_vars()._app.action._delete, "power-off", "danger", ((disableBtn) ? "assign_email_template.disable_email_template(event,"+full.email_status_id+",'"+types+"',1)" : "assign_email_template.disable_email_template(event,"+full.email_status_id+",'"+types+"',0)" ) );
|
|
}
|
|
return '<div class="row-fluid"><div class="span4 offset4 text-center">'+action_btns+'</div></div>';
|
|
|
|
} , "sortable" : false }
|
|
],
|
|
"fnDrawCallback": function() {
|
|
},
|
|
"fnRowCallback": function( nRow, aData, iDisplayIndex ) {
|
|
if ( aData['email_status'] == 0) {
|
|
$('td', nRow).closest('tr').css('background-color', 'grey');
|
|
}
|
|
},
|
|
"columnDefs": [
|
|
],
|
|
"initComplete": function(settings, json) {
|
|
}
|
|
});
|
|
|
|
},
|
|
email_reset_template : function(event,event_schedule_id,email_type_id,types, template_name, event_id)
|
|
{
|
|
event.preventDefault();
|
|
|
|
Helper.help.ajax( app.get_vars().baseurl+"reset_template_event_schedule/"+event_schedule_id+"/"+email_type_id+"/one/"+event_id, 'post',
|
|
false, function(res){
|
|
var action = ( res.activate == "true") ? "activate" : types;
|
|
app.modal.confirm_box({
|
|
|
|
"message" : res.message ,
|
|
"_continue" : function() {
|
|
Helper.help.ajax( app.get_vars().baseurl+"reset_template_event_schedule/"+event_schedule_id+"/"+email_type_id+"/"+action+"/"+event_id, 'post',
|
|
false, function(result){
|
|
$('#event_email_template').DataTable().clear().draw();
|
|
});
|
|
},
|
|
"id" : "delete_confirm_box",
|
|
"className" : "delete_confirm_box"
|
|
|
|
});
|
|
});
|
|
},
|
|
email_template_modal : function(event_id, event_schedule_id,type)
|
|
{
|
|
var modal_email_template = $("#assign_email_template_");
|
|
var event_id_type = $("input#event-id-type");
|
|
$("input#event-id").val(event_id);
|
|
|
|
modal_email_template.data("event_data", {
|
|
"event_id" : event_id,
|
|
"event_schedule_id" : event_schedule_id
|
|
});
|
|
|
|
event_id_type.val(type);
|
|
modal_email_template.modal('show');
|
|
assign_email_template.table(type,event_schedule_id);
|
|
assign_email_template.isbydefault(type,event_schedule_id);
|
|
modal_email_template.on('hidden.bs.modal', function () {
|
|
table_template.dataTable().fnDestroy();
|
|
modal_email_template.removeData("event_data");
|
|
});
|
|
}
|
|
|
|
};
|
|
})(jQuery, this);
|