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 '
'+action_btns+'
'; } , "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);