Skip to content
Snippets Groups Projects
Commit daeafeb0 authored by permcu's avatar permcu
Browse files

Implement graphql amend lesson mutation

parent f05225d5
No related branches found
No related tags found
1 merge request!310Resolve "Implement Vue substitution frontend"
Pipeline #143444 failed
mutation gqlAmendLesson($input: LessonEventInput!) {
amendLesson(input: $input) {
lessonEvent {
id
amends
datetimeStart
datetimeEnd
subject
teachers
groups
rooms
cancelled
comment
}
}
}
......@@ -106,7 +106,7 @@
:default-item="amendEvent.default"
:is-create="true"
createItemI18nKey="chronos.event.amend.title"
:gql-create-mutation="gqlCreateAmend"
:gql-create-mutation="gqlAmendLesson"
@cancel="amendEvent.open = false"
/>
</v-card-actions>
......@@ -123,8 +123,11 @@ import EditButton from "aleksis.core/components/generic/buttons/EditButton.vue";
import DialogObjectForm from "aleksis.core/components/generic/dialogs/DialogObjectForm.vue";
import LessonRelatedObjectChip from "../../LessonRelatedObjectChip.vue";
import lessonEvent from "../mixins/lessonEvent";
import LessonEventSubject from "../../LessonEventSubject.vue";
import gqlAmendLesson from "../../amendLesson.graphql";
export default {
name: "LessonDetails",
components: {
......@@ -135,6 +138,7 @@ export default {
CancelledCalendarStatusChip,
EditButton,
DialogObjectForm,
gqlAmendLesson,
},
mixins: [calendarFeedDetailsMixin, lessonEvent],
data() {
......
import graphene
from graphene_django import DjangoObjectType
from graphene_django_cud.mutations import DjangoCreateMutation
from aleksis.core.models import Group, Person, Room
from ..models import LessonEvent
from ..util.chronos_helpers import get_classes, get_rooms, get_teachers
......@@ -26,6 +28,35 @@ class TimetableRoomType(DjangoObjectType):
fields = ("id", "name", "short_name")
skip_registry = True
class LessonEventType(DjangoObjectType):
class Meta:
model = LessonEvent
fields = ("id",
"amends",
"datetime_start",
"datetime_end",
"subject",
"teachers",
"groups",
"rooms",
"cancelled",
"comment")
class AmendLessonMutation(DjangoCreateMutation):
class Meta:
model = LessonEvent
permissions = ("chronos.edit_substitution_rule",)
only_fields = ("amends",
"datetime_start",
"datetime_end",
"subject",
"teachers",
"groups",
"rooms",
"cancelled",
"comment")
class TimetableType(graphene.Enum):
TEACHER = "teacher"
......@@ -93,3 +124,7 @@ class Query(graphene.ObjectType):
)
return all_timetables
class Mutation(graphene.ObjectType):
amend_lesson = AmendLessonMutation.Field()
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