Skip to content
Snippets Groups Projects
Commit 1176f678 authored by Julian's avatar Julian
Browse files

Create schema to create personal notes

parent cd3afc8f
No related branches found
No related tags found
No related merge requests found
......@@ -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