diff --git a/aleksis/apps/alsijil/schema/documentation.py b/aleksis/apps/alsijil/schema/documentation.py index 4e8f51ba518d55474a0b65f819a0010a0cf8db12..4f6bfe431c99dbe24cc15938151f0aecea006f2e 100644 --- a/aleksis/apps/alsijil/schema/documentation.py +++ b/aleksis/apps/alsijil/schema/documentation.py @@ -1,4 +1,4 @@ -from datetime import datetime +from datetime import datetime, timezone import graphene from graphene_django.types import DjangoObjectType from graphene_django_cud.mutations import ( @@ -149,16 +149,18 @@ class DocumentationBatchCreateOrUpdateMutation(graphene.Mutation): ): raise PermissionDenied() + # Timezone removal is necessary due to ISO style offsets are no valid timezones. Instead, we take the timezone from the lesson_event and save it in a dedicated field. return Documentation.objects.create( - datetime_start=datetime.fromisoformat(datetime_start), - datetime_end=datetime.fromisoformat(datetime_end), + datetime_start=datetime.fromisoformat(datetime_start).replace(tzinfo=timezone.utc), + datetime_end=datetime.fromisoformat(datetime_end).replace(tzinfo=timezone.utc), + timezone=lesson_event.timezone, lesson_event=lesson_event, course=lesson_event.course, subject=lesson_event.subject, topic=doc.topic or "", homework=doc.homework or "", group_note=doc.group_note or "", - ) # TODO: Add course & subject + ) else: obj = Documentation.objects.get(id=id)