fix: error melding
This commit is contained in:
		
							parent
							
								
									17460684aa
								
							
						
					
					
						commit
						42d84c56e5
					
				
					 4 changed files with 77 additions and 65 deletions
				
			
		
							
								
								
									
										19
									
								
								frontend/src/views/classes/ClassDisplay.vue
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								frontend/src/views/classes/ClassDisplay.vue
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,19 @@ | |||
| <script setup lang="ts"> | ||||
| import { useClassQuery } from '@/queries/classes'; | ||||
| import { defineProps } from 'vue'; | ||||
| import UsingQueryResult from "@/components/UsingQueryResult.vue"; | ||||
| 
 | ||||
| const props = defineProps({ | ||||
|     classId: String, | ||||
| }); | ||||
| 
 | ||||
| const classQuery = useClassQuery(props.classId); | ||||
| </script> | ||||
| 
 | ||||
| <template> | ||||
|     <using-query-result :query-result="classQuery" v-slot="{ data: classResponse }"> | ||||
|         <span>{{ classResponse?.class.displayName}}</span> | ||||
|     </using-query-result> | ||||
| </template> | ||||
| 
 | ||||
| 
 | ||||
|  | @ -76,7 +76,7 @@ | |||
|                 }, | ||||
|                 onError: (e) => { | ||||
|                     dialog.value = false; | ||||
|                     showSnackbar(t("failed") + ": " + e.message, "error"); | ||||
|                     showSnackbar(t("failed") + ": " + e.response.data.error || e.message, "error"); | ||||
|                 }, | ||||
|             }, | ||||
|         ); | ||||
|  | @ -104,7 +104,7 @@ | |||
|                     } | ||||
|                 }, | ||||
|                 onError: (e) => { | ||||
|                     showSnackbar(t("failed") + ": " + e.message, "error"); | ||||
|                     showSnackbar(t("failed") + ": " + e.response.data.error || e.message, "error"); | ||||
|                 }, | ||||
|             }, | ||||
|         ); | ||||
|  | @ -125,7 +125,9 @@ | |||
|                 usernameTeacher.value = ""; | ||||
|             }, | ||||
|             onError: (e) => { | ||||
|                 showSnackbar(t("failed") + ": " + e.message, "error"); | ||||
|                 console.log("error", e) | ||||
|                 console.log(e.response.data.error) | ||||
|                 showSnackbar(t("failed") + ": " + e.response.data.error || e.message, "error"); | ||||
|             }, | ||||
|         }); | ||||
|     } | ||||
|  |  | |||
|  | @ -99,7 +99,7 @@ | |||
|                         showSnackbar(t("sent"), "success"); | ||||
|                     }, | ||||
|                     onError: (e) => { | ||||
|                         showSnackbar(t("failed") + ": " + e.message, "error"); | ||||
|                         showSnackbar(t("failed") + ": " + e.response.data.error || e.message, "error"); | ||||
|                     }, | ||||
|                 }, | ||||
|             ); | ||||
|  |  | |||
|  | @ -15,6 +15,7 @@ | |||
|         useTeacherInvitationsReceivedQuery, | ||||
|     } from "@/queries/teacher-invitations"; | ||||
|     import { useDisplay } from "vuetify"; | ||||
|     import ClassDisplay from "@/views/classes/ClassDisplay.vue"; | ||||
| 
 | ||||
|     const { t } = useI18n(); | ||||
| 
 | ||||
|  | @ -40,7 +41,6 @@ | |||
| 
 | ||||
|     // Fetch all classes of the logged in teacher | ||||
|     const classesQuery = useTeacherClassesQuery(username, true); | ||||
|     const allClassesQuery = useClassesQuery(); | ||||
|     const { mutate } = useCreateClassMutation(); | ||||
|     const getInvitationsQuery = useTeacherInvitationsReceivedQuery(username); | ||||
|     const { mutate: respondToInvitation } = useRespondTeacherInvitationMutation(); | ||||
|  | @ -69,7 +69,7 @@ | |||
|                 await getInvitationsQuery.refetch(); | ||||
|             }, | ||||
|             onError: (e) => { | ||||
|                 showSnackbar(t("failed") + ": " + e.message, "error"); | ||||
|                 showSnackbar(t("failed") + ": " + e.response.data.error || e.message, "error"); | ||||
|             }, | ||||
|         }); | ||||
|     } | ||||
|  | @ -338,66 +338,57 @@ | |||
|                             :query-result="getInvitationsQuery" | ||||
|                             v-slot="invitationsResponse: { data: TeacherInvitationsResponse }" | ||||
|                         > | ||||
|                             <using-query-result | ||||
|                                 :query-result="allClassesQuery" | ||||
|                                 v-slot="classesResponse: { data: ClassesResponse }" | ||||
|                             <tr | ||||
|                                 v-for="i in invitationsResponse.data.invitations as TeacherInvitationDTO[]" | ||||
|                                 :key="i.classId" | ||||
|                             > | ||||
|                                 <tr | ||||
|                                     v-for="i in invitationsResponse.data.invitations as TeacherInvitationDTO[]" | ||||
|                                     :key="i.classId" | ||||
|                                 > | ||||
|                                     <td> | ||||
|                                         {{ | ||||
|                                             (classesResponse.data.classes as ClassDTO[]).filter( | ||||
|                                                 (c) => c.id == i.classId, | ||||
|                                             )[0].displayName | ||||
|                                         }} | ||||
|                                     </td> | ||||
|                                     <td> | ||||
|                                         {{ | ||||
|                                             (i.sender as TeacherDTO).firstName + " " + (i.sender as TeacherDTO).lastName | ||||
|                                         }} | ||||
|                                     </td> | ||||
|                                     <td class="text-right"> | ||||
|                                         <span v-if="!isSmAndDown"> | ||||
|                                             <div> | ||||
|                                                 <v-btn | ||||
|                                                     color="green" | ||||
|                                                     @click="handleInvitation(i, true)" | ||||
|                                                     class="mr-2" | ||||
|                                                 > | ||||
|                                                     {{ t("accept") }} | ||||
|                                                 </v-btn> | ||||
|                                                 <v-btn | ||||
|                                                     color="red" | ||||
|                                                     @click="handleInvitation(i, false)" | ||||
|                                                 > | ||||
|                                                     {{ t("deny") }} | ||||
|                                                 </v-btn> | ||||
|                                             </div> | ||||
|                                         </span> | ||||
|                                         <span v-else> | ||||
|                                             <div> | ||||
|                                                 <v-btn | ||||
|                                                     @click="handleInvitation(i, true)" | ||||
|                                                     class="mr-2" | ||||
|                                                     icon="mdi-check-circle" | ||||
|                                                     color="green" | ||||
|                                                     variant="text" | ||||
|                                                 > | ||||
|                                                 </v-btn> | ||||
|                                                 <v-btn | ||||
|                                                     @click="handleInvitation(i, false)" | ||||
|                                                     class="mr-2" | ||||
|                                                     icon="mdi-close-circle" | ||||
|                                                     color="red" | ||||
|                                                     variant="text" | ||||
|                                                 > | ||||
|                                                 </v-btn></div | ||||
|                                         ></span> | ||||
|                                     </td> | ||||
|                                 </tr> | ||||
|                             </using-query-result> | ||||
|                                 <td> | ||||
|                                     <ClassDisplay :classId="i.classId" /> | ||||
|                                 </td> | ||||
|                                 <td> | ||||
|                                     {{ | ||||
|                                         (i.sender as TeacherDTO).firstName + " " + (i.sender as TeacherDTO).lastName | ||||
|                                     }} | ||||
|                                 </td> | ||||
|                                 <td class="text-right"> | ||||
|                                     <span v-if="!isSmAndDown"> | ||||
|                                         <div> | ||||
|                                             <v-btn | ||||
|                                                 color="green" | ||||
|                                                 @click="handleInvitation(i, true)" | ||||
|                                                 class="mr-2" | ||||
|                                             > | ||||
|                                                 {{ t("accept") }} | ||||
|                                             </v-btn> | ||||
|                                             <v-btn | ||||
|                                                 color="red" | ||||
|                                                 @click="handleInvitation(i, false)" | ||||
|                                             > | ||||
|                                                 {{ t("deny") }} | ||||
|                                             </v-btn> | ||||
|                                         </div> | ||||
|                                     </span> | ||||
|                                     <span v-else> | ||||
|                                         <div> | ||||
|                                             <v-btn | ||||
|                                                 @click="handleInvitation(i, true)" | ||||
|                                                 class="mr-2" | ||||
|                                                 icon="mdi-check-circle" | ||||
|                                                 color="green" | ||||
|                                                 variant="text" | ||||
|                                             > | ||||
|                                             </v-btn> | ||||
|                                             <v-btn | ||||
|                                                 @click="handleInvitation(i, false)" | ||||
|                                                 class="mr-2" | ||||
|                                                 icon="mdi-close-circle" | ||||
|                                                 color="red" | ||||
|                                                 variant="text" | ||||
|                                             > | ||||
|                                             </v-btn></div | ||||
|                                     ></span> | ||||
|                                 </td> | ||||
|                             </tr> | ||||
|                         </using-query-result> | ||||
|                     </tbody> | ||||
|                 </v-table> | ||||
|  |  | |||
		Reference in a new issue
	
	 Gabriellvl
						Gabriellvl