gestion erreur simplifiée
This commit is contained in:
parent
d0f779bb9b
commit
47a5ddb442
@ -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,59 +27,30 @@ 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);
|
||||
// Appel de la fonction de gestion d'erreur
|
||||
showError(i, xhr.responseText, errors);
|
||||
console.log("Erreur à l'étape :", i);
|
||||
console.log("Détails de l'erreur :", xhr.responseText);
|
||||
console.log("Messages d'erreurs :", errors);
|
||||
// Appel de la nouvelle fonction d'erreur
|
||||
showError(i, errors);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function showError(step, message, errors) {
|
||||
function showError(step, errors) {
|
||||
$("body").css("cursor", "default");
|
||||
$("#installUpdateErrorStep").text(errors[step] + " (étape n°" + step + ")");
|
||||
$("#installUpdateError").show();
|
||||
$("#installUpdateEnd").removeClass("disabled");
|
||||
$("#installUpdateProgress").hide();
|
||||
|
||||
if (typeof message !== 'object') {
|
||||
const startOfArray = message.indexOf('{');
|
||||
|
||||
// Vérifier que l'accolade existe et n'est pas en première position
|
||||
if (startOfArray !== -1 && startOfArray > 0) {
|
||||
const warningMessage = message.substring(0, startOfArray).trim();
|
||||
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) {
|
||||
// En cas d'erreur de parsing, afficher un message générique
|
||||
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);
|
||||
}
|
||||
// Affiche un message générique demandant de consulter la console
|
||||
$("#installUpdateErrorMessage").html("Une erreur est survenue. Veuillez consulter la console du navigateur pour plus de détails.");
|
||||
}
|
||||
|
||||
|
||||
$(window).on("load", function () {
|
||||
step(1, null);
|
||||
});
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user