Skip to content
Snippets Groups Projects
Verified Commit f9e18f44 authored by Julian's avatar Julian Committed by magicfelix
Browse files

Create schema to create personal notes

parent aa7704fd
No related branches found
No related tags found
1 merge request!284Draft: Redesign entering of lesson documentation
......@@ -65,8 +65,62 @@ class PersonalNoteMutation(DjangoModelFormMutation):
form_class = PersonalNoteForm
class CreatePersonalNoteMutation(graphene.Mutation):
class Arguments:
person_id = graphene.ID(required=True)
lesson_period_id = graphene.ID(required=True)
week = graphene.Int(required=True)
year = graphene.Int(required=True)
late = graphene.Int(required=False)
absent = graphene.Boolean(required=False)
excused = graphene.Boolean(required=False)
excuse_type = graphene.ID(required=False)
remarks = graphene.String(required=False)
extra_marks = graphene.List(graphene.ID, required=False)
personal_note = graphene.Field(PersonalNoteType)
@classmethod
def mutate(
cls,
root,
info,
person_id,
lesson_period_id,
week,
year,
late=0,
absent=False,
excused=False,
excuse_type=None,
remarks="",
extra_marks=None
):
if extra_marks is None:
extra_marks = []
person = Person.objects.get(pk=person_id)
lesson_period = LessonPeriod.objects.get(pk=lesson_period_id)
extra_marks = ExtraMark.objects.filter(pk__in=extra_marks)
personal_note = PersonalNote.objects.create(
person=person,
lesson_period=lesson_period,
late=late,
absent=absent,
excused=excused,
excuse_type=excuse_type,
remarks=remarks,
week=week,
year=year,
)
personal_note.extra_marks.set(extra_marks)
personal_note.save()
return CreatePersonalNoteMutation(personal_note=personal_note)
class Mutation(graphene.ObjectType):
update_lesson_documentation = LessonDocumentationMutation.Field()
create_personal_note = CreatePersonalNoteMutation.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