$(document).ready(function() { // ---- Gestion des utilisateurs : filtre role $(".filter_role_btn").on('click', function(event) { event.preventDefault(); $(".filter_user_input").val(''); var roleId = $(".filter_role").val(); tableSearch('.datatable tr.data_row', 'attr-role', roleId) }); // ---- Gestion des dossiers : filtre sujet $(".filter_sujet_btn").on('click', function(event) { event.preventDefault(); $(".filter_user_input").val(''); var sujetId = $(".filter_sujet").val(); tableSearch('.datatable tr.data_row', 'attr-sujet', sujetId) }); // ---- Gestion des utilisateurs : recherche d'utilisateur $(".filter_user_btn").on('click', function(event) { event.preventDefault(); $(".filter_role").val(0); var search = $(".filter_user_input").val(); tableGlobalSearch('.datatable tr.data_row', search, [1,2,3]); }); // ---- Gestion des dossiers : recherche un dossier $(".filter_dossier_btn").on('click', function(event) { event.preventDefault(); $(".filter_sujet").val(0); var search = $(".filter_dossier_input").val(); tableGlobalSearch('.datatable tr.data_row', search, [1]); }); // ---- Edition des utilisateurs : validation formulaire $('#submitEdit').on('click', () => { $('.dataform').trigger('submit') }) // ---- Edition des utilisateurs : suppression d'utilisateur $(".btn_delete_user").on('click', function(event) { event.preventDefault(); let form = $('.deleteform'), created_by = $('select[name="created_by"]').val(), created_by_text = $('select[name="created_by"] option:selected').text() if (!created_by.length) { $.fancyConfirm({ title: 'Impossible de lancer cet action.', message: 'Vous devez choisir autre un utilisateur à qui assigner les fiches.', okButton: 'Compris', noButton: 'Retour' }) return; } $.fancyConfirm({ title: 'Suppression d\'un utilisateur', message: 'Les média seront assignés à ' + created_by_text + '. Êtes-vous sûr de vouloir supprimer cet utilisateur ?', okButton: 'Supprimer', noButton: 'Annuler', callback: function (value) { if (value) { form.trigger('submit') } } }) }); // ---- Edition des dossiers : suppression d'un dossier $(".btn_delete_dossier").on('click', function(event) { event.preventDefault(); var form = $(".deleteform"); $.fancyConfirm({ title : "Suppression d'un dossier", message : "Êtes-vous sûr de vouloir supprimer ce dossier ?", okButton : 'Supprimer', noButton : 'Annuler', callback : function (value) { if (value) { form.submit(); } } }); }); // ---- Ajout des utilisateurs : vérification du matricule $(".check_matricule").on('blur', function(event) { var matricule = $(this).val(); if(matricule == "") return false; $(".loader").show(); $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } }); $.ajax({ url: '/check-matricule', method: 'POST', dataType : 'json', data: { matricule: matricule, }, success: function(result){ $(".loader").hide(); if(result.exist_bdd){ $.fancyMessage({ title : "Attention", message : "Ce matricule existe déjà. Veuillez en indiquer un autre.", type : "error", }); }else if(result.exist_ldap){ $("#firstname").val(result.ldap_user.firstname); $("#lastname").val(result.ldap_user.lastname); $("#email").val(result.ldap_user.email); $.fancyMessage({ title : "Information", message : "Ce matricule existe chez LDC. Le formulaire a été complété.", type : "info", }); } }, error: function(jqXHR, textStatus, errorThrown) { $(".loader").hide(); } }); }); // Rechercher ID Arcadia pour réactivation $("#recovery-form").submit(function (e) { e.preventDefault(); $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } }); const id = $("input[name='arcadia_id']").val(); $.ajax({ url: '/ajax/check-arcadia-id', method: 'POST', dataType : 'json', data: { id: id, }, success: function(result){ if (result === false){ $.fancyMessage({ title : "Attention", message : "Aucun média supprimé avec cet ID Arcadia.", type : "error", }); }else{ $.fancyConfirm({ title : "Attention", message : "Êtes-vous sûr de vouloir lancer le traitement ?", okButton : 'Oui', noButton : 'Non', callback : function (value) { if (value) { $.ajax({ url: '/ajax/recover-media', method: 'POST', dataType : 'json', data: { arcadia_id: id, }, success: function(result){ $.fancyMessage({ title : "Information", message : "La demande de récupération a été faite.", type : "info", }); }, error: function(jqXHR, textStatus, errorThrown) { $.fancyMessage({ title: "Erreur", message: "Une erreur est survenue", type: "error", }); } }); } } }); } }, error: function(jqXHR, textStatus, errorThrown) { } }); $("input[name='arcadia_id']").val(''); }); initSelector(".selector_marques"); initSelector(".selector_sujets"); }); // ---- Module de gestion de liste de données window.initSelector = function($selector){ var datavalue = []; // Init du module $($selector+" .selector_values li").each(function() { datavalue.push($(this).attr("data-value")); }); $($selector+" .selector_choices li").each(function() { var id = $(this).attr("data-value"); if(datavalue.indexOf(id)!= -1){ $(this).addClass('selected'); } }); $($selector+" .selector_dataValues").val(datavalue.join()); // Recherche d'un élément $($selector+" .selector_filter").off().on('keyup', function(event) { var options = $(this).parent($selector).find(".selector_choices li"); var search = $(this).val(); $(options).each(function() { if($(this).html().toUpperCase().indexOf(search.toUpperCase()) != -1 || search == ""){ $(this).css("display", "block"); }else{ $(this).css("display", "none"); } }); }); // Ajout d'un élément $($selector+" .selector_choices" ).off().on( "click", "li", function() { if(!$(this).hasClass('selected')){ var id = $(this).attr("data-value"); var text = $(this).html(); $(this).addClass('selected'); $(this).parent().parent().find('.selector_values').append('