diff --git a/frontend/src/views/classes/ClassDisplay.vue b/frontend/src/views/classes/ClassDisplay.vue
new file mode 100644
index 00000000..f24293bc
--- /dev/null
+++ b/frontend/src/views/classes/ClassDisplay.vue
@@ -0,0 +1,19 @@
+
+
+
+
+ {{ classResponse?.class.displayName}}
+
+
+
+
diff --git a/frontend/src/views/classes/SingleClass.vue b/frontend/src/views/classes/SingleClass.vue
index 5cc62043..21a3ec5a 100644
--- a/frontend/src/views/classes/SingleClass.vue
+++ b/frontend/src/views/classes/SingleClass.vue
@@ -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");
},
});
}
diff --git a/frontend/src/views/classes/StudentClasses.vue b/frontend/src/views/classes/StudentClasses.vue
index 4d7cc369..a972069d 100644
--- a/frontend/src/views/classes/StudentClasses.vue
+++ b/frontend/src/views/classes/StudentClasses.vue
@@ -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");
},
},
);
diff --git a/frontend/src/views/classes/TeacherClasses.vue b/frontend/src/views/classes/TeacherClasses.vue
index 3d6c4db9..2b107575 100644
--- a/frontend/src/views/classes/TeacherClasses.vue
+++ b/frontend/src/views/classes/TeacherClasses.vue
@@ -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 }"
>
-
-
-
- {{
- (classesResponse.data.classes as ClassDTO[]).filter(
- (c) => c.id == i.classId,
- )[0].displayName
- }}
- |
-
- {{
- (i.sender as TeacherDTO).firstName + " " + (i.sender as TeacherDTO).lastName
- }}
- |
-
-
-
-
- {{ t("accept") }}
-
-
- {{ t("deny") }}
-
-
-
-
-
-
-
-
-
- |
-
-
+
+
+ |
+
+ {{
+ (i.sender as TeacherDTO).firstName + " " + (i.sender as TeacherDTO).lastName
+ }}
+ |
+
+
+
+
+ {{ t("accept") }}
+
+
+ {{ t("deny") }}
+
+
+
+
+
+
+
+
+
+ |
+