Bläddra i källkod

fix alert message

Olivier Massot 1 år sedan
förälder
incheckning
ea91e05ebe

+ 1 - 1
components/Layout/Alert/Container.vue

@@ -16,9 +16,9 @@ Container principal pour l'affichage d'une ou plusieurs alertes
 </template>
 
 <script setup lang="ts">
+import type { ComputedRef } from 'vue'
 import type { Alert } from '~/types/interfaces'
 import { usePageStore } from '~/stores/page'
-import type { ComputedRef } from '@vue/reactivity'
 
 const pageStore = usePageStore()
 

+ 2 - 2
components/Layout/Alert/Content.vue

@@ -13,7 +13,7 @@
     @mouseout="onMouseOut"
   >
     <ul v-if="props.alert.messages.length > 1">
-      <li v-for="message in props.alert.messages">
+      <li v-for="message in props.alert.messages" :key="message">
         {{ $t(message) }}
       </li>
     </ul>
@@ -24,8 +24,8 @@
 </template>
 
 <script setup lang="ts">
+import type { Ref } from 'vue'
 import type { Alert } from '~/types/interfaces'
-import type { Ref } from '@vue/reactivity'
 import { usePageStore } from '~/stores/page'
 
 const props = defineProps({

+ 12 - 1
composables/data/useAp2iRequestService.ts

@@ -76,8 +76,19 @@ export const useAp2iRequestService = () => {
       response &&
       (response.status === 400 || response.status >= 404)
     ) {
+
       // @see https://developer.mozilla.org/fr/docs/Web/HTTP/Status
-      const errorMsg = error ? error.message : response.statusText
+      let errorMsg
+      if (error) {
+        errorMsg = error.message
+      } else if (response._data && response._data.detail) {
+        errorMsg = response._data.detail
+      } else if (response.statusText) {
+        errorMsg = response.statusText
+      } else {
+        errorMsg = 'An error occured'
+      }
+
       console.error('! Request error: ' + errorMsg)
       usePageStore().addAlert(TYPE_ALERT.ALERT, [errorMsg])
     }

+ 3 - 1
lang/fr.json

@@ -684,5 +684,7 @@
   "cmf_licence_structure_breadcrumbs": "Licence CMF - Structure",
   "no_recorded_subdomain": "Aucun sous-domaine enregistré",
   "no_admin_access_recorded": "Aucun compte super-admin enregistré",
-  "redirecting": "Redirection en cours"
+  "redirecting": "Redirection en cours",
+  "Invalid profile hash": "Le profil de l'utilisateur a été modifié ailleurs, veuillez rafraichir la page et réessayer.",
+  "An error occured": "Une erreur s'est produite."
 }