Skip to content
Snippets Groups Projects
Commit 659e9125 authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Merge branch...

Merge branch '35-school-structure-planning-can-t-properly-handle-first-second-level-groups-not-being-set-doesn-t' into 'master'

Resolve "School structure planning can't properly handle first/second level groups not being set & doesn't update the apollo cache properly"

Closes #35

See merge request !74
parents 942bc4a7 6fcddca1
No related branches found
No related tags found
1 merge request!74Resolve "School structure planning can't properly handle first/second level groups not being set & doesn't update the apollo cache properly"
Pipeline #194641 passed
<script setup>
import ErrorPage from "aleksis.core/components/app/ErrorPage.vue";
import DialogObjectForm from "aleksis.core/components/generic/dialogs/DialogObjectForm.vue";
import CreateButton from "aleksis.core/components/generic/buttons/CreateButton.vue";
import SecondaryActionButton from "aleksis.core/components/generic/buttons/SecondaryActionButton.vue";
</script>
<template>
<v-card>
<v-card
v-if="
!$apollo.queries.schoolStructure.loading &&
schoolStructure?.firstLevelType?.name &&
schoolStructure?.secondLevelType?.name
"
:loading="$apollo.queries.schoolStructure.loading"
>
<!-- Create first level group form -->
<dialog-object-form
v-model="createFirstLevelGroupForm"
:fields="firstLevelGroupFields"
:default-item="firstLevelGroupDefaultItem"
:is-create="true"
:gql-create-mutation="gqlCreateFirstLevelGroup"
:gql-create-mutation="createFirstLevelGroups"
@cancel="createFirstLevelGroupForm = false"
@save="updateSchoolStructure"
>
......@@ -32,9 +40,9 @@ import SecondaryActionButton from "aleksis.core/components/generic/buttons/Secon
:fields="secondLevelGroupFields"
:default-item="secondLevelGroupDefaultItem"
:is-create="true"
:gql-create-mutation="gqlCreateSecondLevelGroup"
:gql-create-mutation="createSecondLevelGroups"
:get-create-data="transformSecondLevelGroupItem"
@cancel="createFirstLevelGroupForm = false"
@cancel="createSecondLevelGroupForm = false"
@save="updateSchoolStructure"
>
<template #title>
......@@ -165,13 +173,19 @@ import SecondaryActionButton from "aleksis.core/components/generic/buttons/Secon
</v-row>
</v-container>
</v-card>
<error-page
v-else
short-error-message-key="cursus.school_structure.errors.no_group_types.short"
long-error-message-key="cursus.school_structure.errors.no_group_types.long"
hide-button
/>
</template>
<script>
import {
gqlFirstLevelGroups,
gqlCreateFirstLevelGroup,
gqlCreateSecondLevelGroup,
createFirstLevelGroups,
createSecondLevelGroups,
} from "./schoolStructure.graphql";
export default {
......@@ -236,6 +250,10 @@ export default {
};
},
updateSchoolStructure() {
// Close both possible forms
this.createFirstLevelGroupForm = false;
this.createSecondLevelGroupForm = false;
this.$apollo.queries.schoolStructure.refetch();
},
},
......
......@@ -24,7 +24,7 @@ query gqlFirstLevelGroups {
}
}
mutation gqlCreateFirstLevelGroup($input: [BatchCreateGroupInput]!) {
mutation createFirstLevelGroups($input: [BatchCreateGroupInput]!) {
createFirstLevelGroups(input: $input) {
firstLevelGroups: groups {
id
......@@ -34,7 +34,7 @@ mutation gqlCreateFirstLevelGroup($input: [BatchCreateGroupInput]!) {
}
}
mutation gqlCreateSecondLevelGroup($input: [BatchCreateGroupInput]!) {
mutation createSecondLevelGroups($input: [BatchCreateGroupInput]!) {
createSecondLevelGroups(input: $input) {
secondLevelGroups: groups {
id
......
......@@ -36,7 +36,13 @@
},
"add": "Add {name}",
"add_title": "Add {name}",
"timetable": "Timetable"
"timetable": "Timetable",
"errors": {
"no_group_types": {
"short": "No group types configured",
"long": "No group types corresponding to the first/second group level (e.g. grades and classes) have been set. Thus, you can't use the school structure planning feature yet."
}
}
},
"errors": {
"short_name_required": "Short name is required",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment