diff --git a/js/Client/flashMessenger.js b/js/Client/flashMessenger.js index e06b920d3e8b327a7afe521190a00dc345d7813a..049dc592521dc3ccac408d0789040fed42ffcc94 100644 --- a/js/Client/flashMessenger.js +++ b/js/Client/flashMessenger.js @@ -39,8 +39,8 @@ function toast(message, severity) { toast.setAttribute('aria-live', 'assertive'); toast.setAttribute('aria-atomic', 'true'); - if (severity === 'error'){ - toast.setAttribute('style', 'width:100%'); + if (severity === 'error' && message.length > 500){ + toast.setAttribute('style', 'width:700px'); } const toastContent = @@ -57,7 +57,7 @@ function toast(message, severity) { if (severity !== 'error') { setTimeout(() => { toast.classList.remove('show'); - }, 3000); + }, 5000); } } diff --git a/js/Client/unicaenVue.js b/js/Client/unicaenVue.js index 24b8f989b87757ed7643eaba52aea06a340517ea..471090325852e3d2c720e94747f22cf081cb5f13 100644 --- a/js/Client/unicaenVue.js +++ b/js/Client/unicaenVue.js @@ -83,11 +83,27 @@ unicaenVue.axios.interceptors.response.use(response => { return response; }, (error) => { - var text = $("<div>").html(error.response.data); + let message = error.response.data; - text.find('i.fas').hide(); + if (error.response.status == 403){ + message = '<h4>403 - Accès interdit</h4><br />Vous n\'êtes pas autorisé(e) à faire cette action.'; + }else if (error.response.status == 500) { + const text = document.createElement("div"); + text.innerHTML = error.response.data; - flashMessenger.toast(text.find('.alert').html(), 'error'); + // on masque l'icône /!\ qui fait doublon si on en trouve + const fasIcons = text.querySelectorAll('i.fas'); + fasIcons.forEach(icon => icon.style.display = "none"); + + message = text.querySelector('.alert').innerHTML; + if (message === undefined){ + message = error.response.data; + } + }else{ + message = error.response.data; + } + + flashMessenger.toast(message, 'error'); }); unicaenVue.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';