tient compte de la déconnexion pdt update

This commit is contained in:
Fred Tempez 2024-09-25 22:00:58 +02:00
parent a929fb3482
commit 53dd6a82e6

View File

@ -1,6 +1,12 @@
function step(i, data) {
var errors = ["<?php echo helper::translate('Préparation de la mise à jour'); ?>", "<?php echo helper::translate('Téléchargement et validation de l\'archive'); ?>", "<?php echo helper::translate('Installation'); ?>", "<?php echo helper::translate('Configuration'); ?>"];
$(".installUpdateProgressText").hide(), $(".installUpdateProgressText[data-id=" + i + "]").show();
var errors = [
"<?php echo helper::translate('Préparation de la mise à jour'); ?>",
"<?php echo helper::translate('Téléchargement et validation de l\'archive'); ?>",
"<?php echo helper::translate('Installation'); ?>",
"<?php echo helper::translate('Configuration'); ?>"
];
$(".installUpdateProgressText").hide();
$(".installUpdateProgressText[data-id=" + i + "]").show();
$("body").css("cursor", "wait");
@ -12,7 +18,7 @@ function step(i, data) {
data: data
},
success: function (result) {
setTimeout((function () {
setTimeout(function () {
if (4 === i) {
$("#installUpdateSuccess").show();
$("body").css("cursor", "default");
@ -21,16 +27,22 @@ function step(i, data) {
} else {
step(i + 1, result.data);
}
}), 2e3)
}, 2000);
},
error: function (xhr) {
// Balance tout dans la console
console.log(i);
console.log(xhr.responseText);
console.log(errors);
// Vérification du code d'erreur HTTP pour gérer la déconnexion
if (xhr.status === 401) {
alert("Votre session a expiré. Veuillez vous reconnecter.");
window.location.href = "/login"; // Redirige vers la page de connexion
} else {
// Appel de la fonction de gestion d'erreur
showError(i, xhr.responseText, errors);
}
}
});
}
@ -47,23 +59,33 @@ function showError(step, message, errors) {
// Trouver la position du premier "{" pour repérer le début du tableau
const startOfArray = message.indexOf('{');
if (startOfArray !== -1 && startOfArray > 0) {
// Extraire le message du warning jusqu'au début du tableau
const warningMessage = message.substring(0, startOfArray).trim();
// Extraire le tableau JSON entre les accolades
const jsonString = message.substring(startOfArray);
try {
const jsonData = JSON.parse(jsonString);
// Afficher les résultats
// Afficher les résultats si le parsing JSON est réussi
if (jsonData) {
$("#installUpdateErrorMessage").html("<strong>Détails de l'erreur :</strong><br> " +
jsonData.data.replace(/^"(.*)"$/, '$1') +
"<br>" +
warningMessage.replace(/<[^p].*?>/g, ""));
}
} catch (e) {
// Afficher un message générique en cas d'erreur de parsing
console.error("Erreur de parsing JSON : ", e);
$("#installUpdateErrorMessage").html("Une erreur inattendue est survenue lors du traitement des détails de l'erreur.");
}
} else {
// Si pas de JSON détecté, afficher le message brut
$("#installUpdateErrorMessage").html("Message d'erreur : " + message);
}
} else {
// Vous pouvez également faire quelque chose d'autre ici, par exemple, afficher un message à l'utilisateur, etc.
$("#installUpdateErrorMessage").html(message);
}
}