diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/CoursebookFilters.vue b/aleksis/apps/alsijil/frontend/components/coursebook/CoursebookFilters.vue index e5493b07cda406fddbb3fccc89e5d1b42080ab89..b47ebbfbb1d1cd8219686f05085eb0eeb8f453d3 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/CoursebookFilters.vue +++ b/aleksis/apps/alsijil/frontend/components/coursebook/CoursebookFilters.vue @@ -45,6 +45,10 @@ <script> import { coursesOfPerson, groupsByPerson } from "./coursebook.graphql"; +const TYPENAMES_TO_TYPES = { + CourseType: "course", + GroupType: "group", +}; export default { name: "CoursebookFilters", data() { @@ -73,9 +77,9 @@ export default { selectable() { return [ { header: this.$t("alsijil.coursebook.filter.groups") }, - ...this.groups.map((group) => ({ type: "group", ...group })), + ...this.groups, { header: this.$t("alsijil.coursebook.filter.courses") }, - ...this.courses.map((course) => ({ type: "course", ...course })), + ...this.courses, ]; }, selectLoading() { @@ -86,14 +90,16 @@ export default { }, currentObj() { return this.selectable.find( - (o) => o.type === this.value.objType && o.id === this.value.objId, + (o) => + TYPENAMES_TO_TYPES[o.__typename] === this.value.objType && + o.id === this.value.objId, ); }, }, methods: { selectObject(selection) { this.$emit("input", { - objType: selection ? selection.type : null, + objType: selection ? TYPENAMES_TO_TYPES[selection.__typename] : null, objId: selection ? selection.id : null, }); }, diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/coursebook.graphql b/aleksis/apps/alsijil/frontend/components/coursebook/coursebook.graphql index 83a6a459f8bb79a57647e06cc0749cf1e49d447d..b93cd7844ee5bff8cf3e4d5c0a065bc2f1bb7166 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/coursebook.graphql +++ b/aleksis/apps/alsijil/frontend/components/coursebook/coursebook.graphql @@ -9,10 +9,6 @@ query coursesOfPerson { courses: coursesOfPerson { id name - groups { - id - name - } } }