This commit is contained in:
KONE SOREL 2026-03-13 15:46:52 +00:00
parent 7ab2463acf
commit d9323ff27b
2 changed files with 125 additions and 184 deletions

View File

@ -32121,128 +32121,72 @@ function ajouter_sms_attente_singleton(p_destinataires, p_message)
});
}
// 2ème fonction à mettre à jour
function tester_disponibiliter_sms()
{
p_destinataires = $("#destinataires").val();
if (p_destinataires<=" ")
{
v_msg="Veuillez saisir un destinataire!";
v_msgEng="Please enter a recipient!";
alert_ebene(v_msg, v_msgEng);
$("#destinataires").focus();
return;
}
function tester_disponibiliter_sms() {
// 1. Récupération des éléments de base
const p_destinataires = $("#destinataires").val();
const fournisseurSms = $("#fournisseurSms").val();
const racineWeb = $("#racineWeb").val();
const div_cible = $('#div_test_gabarit');
p_message = "";
fournisseurSms = $("#fournisseurSms").val();
if (fournisseurSms<=" ")
{
v_msg="Fournisseur de SMS non défini!";
v_msgEng="SMS provider not defined!";
alert_ebene(v_msg, v_msgEng);
return;
}
// 2. Validation du destinataire
if (!p_destinataires || p_destinataires.trim() === "") {
alert_ebene("Veuillez saisir un destinataire!", "Please enter a recipient!");
$("#destinataires").focus();
return;
}
if(fournisseurSms=="esicia")
{
p_message = "Fournisseur : esicia ";
}
else
if(fournisseurSms=="blive")
{
p_message = "Fournisseur : blive ";
}
else
if(fournisseurSms=="hooza")
{
p_message = "Fournisseur : hooza ";
}
else
if(fournisseurSms=="skysms")
{
p_message = "Fournisseur : skysms ";
}
else
if(fournisseurSms=="satelcom")
{
p_message = "Fournisseur : satelcom ";
}
else
if(fournisseurSms=="noah")
{
p_message = "Fournisseur : noah ";
}
else
if(fournisseurSms=="nerhysms")
{
p_message = "Fournisseur : nerhysms ";
}
else
if(fournisseurSms=="emisms")
{
p_message = "Fournisseur : emisms ";
}
else
if(fournisseurSms=="erling")
{
p_message = "Fournisseur : erling ";
}
else
if(fournisseurSms=="ovh")
{
p_message = "Fournisseur : ovh ";
}
else
if(fournisseurSms=="afriksms")
{
p_message = "Fournisseur : afriksms";
}
else
if(fournisseurSms=="ekotech")
{
p_message = "Fournisseur : ekotech";
}
else
{
v_msg=fournisseurSms+" => Fournisseur de SMS inconnu!";
v_msgEng=fournisseurSms+" => Unknown SMS Provider!";
alert_ebene(v_msg, v_msgEng);
return;
}
donnees = "destinataires="+p_destinataires+"&message="+p_message+"&fournisseurSms="+fournisseurSms;
// 3. Validation du fournisseur
if (!fournisseurSms || fournisseurSms.trim() === "") {
alert_ebene("Fournisseur de SMS non défini!", "SMS provider not defined!");
return;
}
alert(donnees);
// 4. Mapping des fournisseurs (Remplace les multiples if/else)
const fournisseursValides = [
"esicia", "blive", "hooza", "skysms", "satelcom", "noah",
"nerhysms", "emisms", "erling", "ovh", "afriksms", "ekotech"
];
$("#div_test_gabarit").html('<div style="padding-top:80px; text-align:center; font-size:14px; color: #0088cf; "><span><i class="fa fa-spinner fa-spin fa-5x" >' + '</span></div>');
$.ajax({
url: $("#racineWeb").val()+"Ajaxtesterdisponiblitesms/envoyerlesms/",
type: 'POST',
data: donnees,
success: function(data)
{
alert("success "+data);
$('#div_test_gabarit').html(data);
},
error: function(errdata)
{
alert("Error : "+errdata);
$('#div_test_gabarit').html(errdata);
},
complete: function()
{
/*
v_msg="Opération terminée avec succès!";
v_msgEng="Operation completed successfully!";
alert_ebene(v_msg, v_msgEng);
*/
}
});
if (!fournisseursValides.includes(fournisseurSms)) {
alert_ebene(
fournisseurSms + " => Fournisseur de SMS inconnu!",
fournisseurSms + " => Unknown SMS Provider!"
);
return;
}
// 5. Préparation du message et des données
const p_message = "Fournisseur : " + fournisseurSms;
const donnees = {
destinataires: p_destinataires,
message: p_message,
fournisseurSms: fournisseurSms
};
// 6. Affichage du loader Neutral Pro
div_cible.html(`
<div class="text-center p-5">
<div class="spinner-border text-primary" role="status" style="width: 3rem; height: 3rem;"></div>
<p class="mt-3 text-primary fw-bold">Envoi du SMS de test en cours...</p>
</div>
`);
// 7. Appel AJAX
$.ajax({
url: racineWeb + "Ajaxtesterdisponiblitesms/envoyerlesms/",
type: 'POST',
data: donnees,
success: function(data) {
// Notification discrète de succès (Toast)
toastr.success("Demande transmise au serveur");
div_cible.html(data);
},
error: function(err) {
toastr.error("Erreur lors de l'envoi");
div_cible.html(`<div class="alert alert-danger">Erreur : ${err.statusText}</div>`);
}
});
}
function ajouter_destinataire_sms_adherent(p_destinataires)
@ -89257,75 +89201,72 @@ function enregistrer_modif_param_filtreip()
}
function tester_disponibiliter_whatsapp()
{
p_destinataires = $("#destinataires").val();
if (p_destinataires<=" ")
{
v_msg="Veuillez saisir un destinataire!";
v_msgEng="Please enter a recipient!";
alert_ebene(v_msg, v_msgEng);
function tester_disponibiliter_whatsapp() {
// 1. Initialisation des variables
const p_destinataires = $("#destinataires").val();
const racineWeb = $("#racineWeb").val();
const div_cible = $('#div_test_gabarit');
const codeLangue = $("#codeLangue").val();
// On force waapi par défaut selon votre logique actuelle,
// mais prêt pour une sélection dynamique si besoin.
const fournisseurWhatsApp = 'waapi';
$("#destinataires").focus();
return;
}
// 2. Validation du destinataire
if (!p_destinataires || p_destinataires.trim() === "") {
alert_ebene("Veuillez saisir un destinataire!", "Please enter a recipient!");
$("#destinataires").focus();
return;
}
p_message = "";
p_message = "TESTS WHATSAPP INTER-SANTE";
// ajout KANE du 18/02/2025
// 3. Validation et mapping du message fournisseur
let p_message = "";
const providers = {
'waapi': 'Fournisseur WhatsApp : waapi',
'ultramsg': 'Fournisseur WhatsApp : ultramsg'
};
// fournisseurWhatsApp = $("#fournisseurWhatsApp").val();
fournisseurWhatsApp = 'waapi';
if (fournisseurWhatsApp<=" ")
{
v_msg="Fournisseur de WhatsApp non défini!";
v_msgEng="WhatsApp provider not defined!";
alert_ebene(v_msg, v_msgEng);
return;
}
if (providers[fournisseurWhatsApp]) {
p_message = providers[fournisseurWhatsApp];
} else {
alert_ebene(
fournisseurWhatsApp + " => Fournisseur de WhatsApp inconnu!",
fournisseurWhatsApp + " => Unknown WhatsApp Provider!"
);
return;
}
if(fournisseurWhatsApp=="waapi")
{
p_message = "Fournisseur WhatsApp : waapi ";
}
else
if(fournisseurWhatsApp=="ultramsg")
{
p_message = "Fournisseur WhatsApp : ultramsg ";
}
else
{
v_msg=fournisseurWhatsApp+" => Fournisseur de WhatsApp inconnu!";
v_msgEng=fournisseurWhatsApp+" => Unknown WhatsApp Provider!";
alert_ebene(v_msg, v_msgEng);
return;
}
donnees = "destinataires="+p_destinataires+"&message="+p_message+"&fournisseurWhatsApp="+fournisseurWhatsApp;
// 4. Préparation des données (Format Objet)
const donnees = {
destinataires: p_destinataires,
message: p_message,
fournisseurWhatsApp: fournisseurWhatsApp
};
$("#div_test_gabarit").html('<div style="padding-top:80px; text-align:center; font-size:14px; color: #0088cf; "><span><i class="fa fa-spinner fa-spin fa-5x" >' + '</span></div>');
$.ajax({
url: $("#racineWeb").val()+"Ajaxtesterdisponiblitesms/envoyerlewhatsapp/",
type: 'POST',
data: donnees,
success: function(data)
{
// alert("success "+data);
$('#div_test_gabarit').html(data);
},
error: function(errdata)
{
// alert("Error : "+errdata);
$('#div_test_gabarit').html(errdata);
},
complete: function()
{
}
});
// 5. Affichage du loader stylisé
div_cible.html(`
<div class="text-center p-5">
<div class="spinner-border text-success" role="status" style="width: 3rem; height: 3rem;"></div>
<p class="mt-3 text-success fw-bold italic">
${(codeLangue === "en_US") ? "Sending WhatsApp message..." : "Envoi du message WhatsApp..."}
</p>
</div>
`);
// 6. Requête AJAX
$.ajax({
url: racineWeb + "Ajaxtesterdisponiblitesms/envoyerlewhatsapp/",
type: 'POST',
data: donnees,
success: function(data) {
toastr.success((codeLangue === "en_US") ? "WhatsApp API called" : "API WhatsApp appelée");
div_cible.html(data);
},
error: function(xhr) {
toastr.error((codeLangue === "en_US") ? "Connection error" : "Erreur de connexion");
div_cible.html(`<div class="alert alert-danger">Error: ${xhr.statusText}</div>`);
}
});
}

View File

@ -2,11 +2,11 @@
<div class="header-section mb-4">
<div class="d-flex align-items-center bg-white p-3 shadow-sm border-start border-primary border-4" style="border-radius: var(--radius-md);">
<div class="icon-shape bg-primary-ghost text-primary rounded-circle me-3" style="width: 48px; height: 48px; display: flex; align-items: center; justify-content: center;">
<i class="fas fa-tools fs-4"></i>
<i class="fas fa-vial fs-4"></i>
</div>
<div>
<h4 id="titre-page" class="mb-0 fw-bold text-uppercase"><?= _("Autres Paramètres Généraux") ?></h4>
<p class="text-muted small mb-0"><?= _("Configuration technique et tests de connectivité API") ?></p>
<h4 id="titre-page" class="mb-0 fw-bold text-uppercase"><?= _("Tester les services de notification") ?></h4>
<p class="text-muted small mb-0"><?= _("Contrôlez la disponibilité des services SMS et WhatsApp") ?></p>
</div>
</div>
</div>