Skip to content
Snippets Groups Projects
Verified Commit 2af75ba0 authored by magicfelix's avatar magicfelix
Browse files

Make LessonDocumentation able to update or create

parent e61de88c
No related branches found
No related tags found
1 merge request!284Draft: Redesign entering of lesson documentation
...@@ -32,6 +32,17 @@ query CourseBook($lessonId: ID!) { ...@@ -32,6 +32,17 @@ query CourseBook($lessonId: ID!) {
topic topic
homework homework
groupNote groupNote
year
week
lessonPeriod {
id
}
event {
id
}
extraLesson {
id
}
period period
date date
personalNotes { personalNotes {
......
...@@ -28,6 +28,11 @@ ...@@ -28,6 +28,11 @@
<lesson-documentation <lesson-documentation
v-bind:key="item.id" v-bind:key="item.id"
:id="item.id" :id="item.id"
:year="item.year"
:week="item.week"
:lessonPeriod="item.lessonPeriod"
:event="item.event"
:extraLesson="item.extraLesson"
:groups="data.lesson.groups" :groups="data.lesson.groups"
:excuse-types="data.excuseTypes" :excuse-types="data.excuseTypes"
:extra-marks="data.extraMarks" :extra-marks="data.extraMarks"
......
...@@ -6,6 +6,11 @@ export default { ...@@ -6,6 +6,11 @@ export default {
}, },
props: [ props: [
"id", "id",
"year",
"week",
"lessonPeriod",
"event",
"extraLesson",
"date", "date",
"period", "period",
"topic", "topic",
......
...@@ -5,7 +5,7 @@ from graphene_django.forms.mutation import DjangoModelFormMutation ...@@ -5,7 +5,7 @@ from graphene_django.forms.mutation import DjangoModelFormMutation
from aleksis.apps.chronos.models import LessonPeriod from aleksis.apps.chronos.models import LessonPeriod
from aleksis.core.models import Person, Group from aleksis.core.models import Person, Group
from .forms import LessonDocumentationForm from .forms import LessonDocumentationForm
from .models import ExcuseType, LessonDocumentation, PersonalNote, ExtraMark from .models import Event, ExcuseType, ExtraLesson, LessonDocumentation, LessonPeriod, PersonalNote, ExtraMark
class ExcuseTypeType(DjangoObjectType): class ExcuseTypeType(DjangoObjectType):
...@@ -51,11 +51,61 @@ class ExtraMarkType(DjangoObjectType): ...@@ -51,11 +51,61 @@ class ExtraMarkType(DjangoObjectType):
model = ExtraMark model = ExtraMark
class LessonDocumentationMutation(DjangoModelFormMutation): class LessonDocumentationMutation(graphene.Mutation):
class Arguments:
year = graphene.Int(required=True)
week = graphene.Int(required=True)
lesson_period_id = graphene.ID(required=False)
event_id = graphene.ID(required=False)
extra_lesson_id = graphene.ID(required=False)
lesson_documentation_id = graphene.ID(required=False)
topic = graphene.String(required=False)
homework = graphene.String(required=False)
group_note = graphene.String(required=False)
lesson_documentation = graphene.Field(LessonDocumentationType) lesson_documentation = graphene.Field(LessonDocumentationType)
class Meta: @classmethod
form_class = LessonDocumentationForm def mutate(
cls,
root,
info,
year,
week,
lesson_period_id=None,
event_id=None,
extra_lesson_id=None,
lesson_documentation_id=None,
topic=None,
homework=None,
group_note=None
):
lesson_period = LessonPeriod.objects.filter(pk=lesson_period_id).first()
event = Event.objects.filter(pk=event_id).first()
extra_lesson = ExtraLesson.objects.filter(pk=extra_lesson_id).first()
lesson_documentation, created = LessonDocumentation.objects.get_or_create(
year=year,
week=week,
lesson_period=lesson_period,
event=event,
extra_lesson=extra_lesson
)
if topic:
lesson_documentation.topic = topic
if homework:
lesson_documentation.homework = homework
if group_note:
lesson_documentation.group_note = group_note
lesson_documentation.save()
return LessonDocumentationMutation(lesson_documentation=lesson_documentation)
class PersonalNoteMutation(graphene.Mutation): class PersonalNoteMutation(graphene.Mutation):
...@@ -124,7 +174,7 @@ class PersonalNoteMutation(graphene.Mutation): ...@@ -124,7 +174,7 @@ class PersonalNoteMutation(graphene.Mutation):
class Mutation(graphene.ObjectType): class Mutation(graphene.ObjectType):
update_lesson_documentation = LessonDocumentationMutation.Field() update_or_create_lesson_documentation = LessonDocumentationMutation.Field()
update_or_create_personal_note = PersonalNoteMutation.Field() update_or_create_personal_note = PersonalNoteMutation.Field()
# update_personal_note = PersonalNoteMutation.Field() # update_personal_note = PersonalNoteMutation.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