13.4.00.test6 prend en compte la déconnexion à la mise à jour

This commit is contained in:
Fred Tempez 2024-09-25 21:57:08 +02:00
parent 47a5ddb442
commit 75b230b2ed
2 changed files with 49 additions and 10 deletions

View File

@ -51,7 +51,7 @@ class common
const ACCESS_TIMER = 1800; const ACCESS_TIMER = 1800;
// Numéro de version // Numéro de version
const ZWII_VERSION = '13.4.00.test5'; const ZWII_VERSION = '13.4.00.test6';
// URL autoupdate // URL autoupdate
const ZWII_UPDATE_URL = 'https://forge.chapril.org/ZwiiCMS-Team/cms-update/raw/branch/master/'; const ZWII_UPDATE_URL = 'https://forge.chapril.org/ZwiiCMS-Team/cms-update/raw/branch/master/';

View File

@ -30,25 +30,64 @@ function step(i, data) {
}, 2000); }, 2000);
}, },
error: function (xhr) { error: function (xhr) {
// Balance tout dans la console console.log(i);
console.log("Erreur à l'étape :", i); console.log(xhr.responseText);
console.log("Détails de l'erreur :", xhr.responseText); console.log(errors);
console.log("Messages d'erreurs :", errors);
// Appel de la nouvelle fonction d'erreur // Vérification du code d'erreur HTTP pour gérer la déconnexion
showError(i, errors); 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);
}
} }
}); });
} }
function showError(step, errors) { function showError(step, message, errors) {
$("body").css("cursor", "default"); $("body").css("cursor", "default");
$("#installUpdateErrorStep").text(errors[step] + " (étape n°" + step + ")"); $("#installUpdateErrorStep").text(errors[step] + " (étape n°" + step + ")");
$("#installUpdateError").show(); $("#installUpdateError").show();
$("#installUpdateEnd").removeClass("disabled"); $("#installUpdateEnd").removeClass("disabled");
$("#installUpdateProgress").hide(); $("#installUpdateProgress").hide();
// Affiche un message générique demandant de consulter la console // Vérifier si l'accolade ouvrante est trouvée et qu'elle n'est pas en première position
$("#installUpdateErrorMessage").html("Une erreur est survenue. Veuillez consulter la console du navigateur pour plus de détails."); if (typeof message !== 'object') {
// 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 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 {
$("#installUpdateErrorMessage").html(message);
}
} }
$(window).on("load", function () { $(window).on("load", function () {