diff --git a/Js/fonctions.js b/Js/fonctions.js index cf8687d6..6e88d07c 100755 --- a/Js/fonctions.js +++ b/Js/fonctions.js @@ -47143,77 +47143,82 @@ function retirer_un_prestataire_reseau(codePrestataire) { } -function dupliquer_reseau(id){ - - v_msg='Confirmez-vous la duplication de ce réseau de soins?'; - v_msgEng="Do you confirm the duplication of this healthcare network?"; - - - confirm_ebene(v_msg, v_msgEng) - .then((isConfirmed) => { - if (isConfirmed) { - // L'utilisateur a confirmé - donnees = 'id='+id; - $.ajax({ - url: $("#racineWeb").val()+"Ajaxdupliquerreseausoins/", - type : 'post', - data: donnees, - error: function(errorData){ - alert("Erreur : "+errorData); - }, - success: function(data) { - //alert("Success : "+data); - $('#div_dupliquer_reseau').html(data); - $('#div_dupliquer_reseau').modal("show"); - $('#div_dupliquer_reseau').on('shown.bs.modal', function(){ - stylechampsRequis(); - $('#libelle').focus(); - }); - }, - complete: function() { - - } - }); - } else { - // L'utilisateur a annulé - console.log("Confirmation refusée"); - } - }); - -} +function dupliquer_reseau(id) { + const v_msg = 'Confirmez-vous la duplication de ce réseau de soins ?'; + const v_msgEng = "Do you confirm the duplication of this healthcare network?"; -function duplicationreseausoins(){ - var codeold = $('#codeold').val(), - codeReseau = "", - libelle = $('#libelle').val(); - - if(libelle <= " "){ - v_msg="Veuillez renseigner le nom du réseau de soins!"; - v_msgEng="Please enter the name of the healthcare network!"; - alert_ebene(v_msg, v_msgEng); + confirm_ebene(v_msg, v_msgEng).then((isConfirmed) => { + if (isConfirmed) { + const donnees = { id: id }; + + $.ajax({ + url: $("#racineWeb").val() + "Ajaxdupliquerreseausoins/", + type: 'POST', + data: donnees, + success: function(data) { + const $modal = $('#div_dupliquer_reseau'); + $modal.html(data); + + // Initialisation Bootstrap 5 Modal + const myModal = new bootstrap.Modal(document.getElementById('div_dupliquer_reseau')); + myModal.show(); - return; - } + // Focus sur le champ libellé après affichage + $modal[0].addEventListener('shown.bs.modal', function () { + if (typeof stylechampsRequis === 'function') stylechampsRequis(); + $("#libelle").focus(); + }); + }, + error: function(xhr) { + alert_ebene("Erreur lors de la récupération des données.", "Error while fetching data."); + } + }); + } + }); +} - donnees = 'codeold='+codeold+'&codeReseau='+codeReseau+'&libelle='+libelle; - - $.ajax({ - url: $("#racineWeb").val()+"Ajaxdupliquerreseausoins/dupliquer/", - type : 'post', - data: donnees, - error: function(errorData){ - alert("Erreur : "+errorData); - }, - success: function(data) { - $("#div_dupliquer_reseau .close").click(); - retour_liste_reseaus(); - }, - complete: function() { - - } - }); - - +function duplicationreseausoins() { + const codeold = $('#codeold').val(); + const libelle = $('#libelle').val().trim(); + + if (!libelle) { + const v_msg = "Veuillez renseigner le nom du réseau de soins !"; + const v_msgEng = "Please enter the name of the healthcare network !"; + alert_ebene(v_msg, v_msgEng); + return; + } + + const donnees = { + codeold: codeold, + codeReseau: "", // Laissé vide car généré par le serveur + libelle: libelle + }; + + // Changement d'état du bouton pour éviter le double clic + const $btn = $("#btn-dupliquer-reseau"); + const originalText = $btn.html(); + $btn.prop('disabled', true).html(' Traitement...'); + + $.ajax({ + url: $("#racineWeb").val() + "Ajaxdupliquerreseausoins/dupliquer/", + type: 'POST', + data: donnees, + success: function(data) { + // Fermer la modale proprement + const myModalEl = document.getElementById('div_dupliquer_reseau'); + const modal = bootstrap.Modal.getInstance(myModalEl); + modal.hide(); + + // Rafraîchir la liste + if (typeof retour_liste_reseaus === 'function') { + retour_liste_reseaus(); + } + }, + error: function() { + $btn.prop('disabled', false).html(originalText); + alert_ebene("Erreur lors de la duplication.", "Error during duplication."); + } + }); } // 19/08/2020 diff --git a/Vue/Ajaxdupliquerreseausoins/index.php b/Vue/Ajaxdupliquerreseausoins/index.php index 1adcd6b6..520fd101 100755 --- a/Vue/Ajaxdupliquerreseausoins/index.php +++ b/Vue/Ajaxdupliquerreseausoins/index.php @@ -1,59 +1,74 @@ - + + + \ No newline at end of file diff --git a/Vue/Reseausoins/index.php b/Vue/Reseausoins/index.php index 5458e526..76f39568 100755 --- a/Vue/Reseausoins/index.php +++ b/Vue/Reseausoins/index.php @@ -66,7 +66,7 @@ +