From 546bcab7bee70db72a2b217eff55de04f6aedc1b Mon Sep 17 00:00:00 2001 From: Hangzhi Yu <hangzhi@protonmail.com> Date: Wed, 3 Apr 2024 22:40:50 +0200 Subject: [PATCH] Fix timezone handling --- aleksis/apps/alsijil/models.py | 4 ++-- aleksis/apps/alsijil/schema/documentation.py | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/aleksis/apps/alsijil/models.py b/aleksis/apps/alsijil/models.py index 789086cc1..b922c4658 100644 --- a/aleksis/apps/alsijil/models.py +++ b/aleksis/apps/alsijil/models.py @@ -574,8 +574,8 @@ class Documentation(CalendarEvent): existing_documentations := ( event_reference_obj := event["REFERENCE_OBJECT"] ).documentation.filter( - datetime_start=event["DTSTART"].dt.replace(tzinfo=timezone.utc), - datetime_end=event["DTEND"].dt.replace(tzinfo=timezone.utc), + datetime_start=event["DTSTART"].dt, + datetime_end=event["DTEND"].dt, ) ).exists() else cls( diff --git a/aleksis/apps/alsijil/schema/documentation.py b/aleksis/apps/alsijil/schema/documentation.py index d115b03eb..088ddca85 100644 --- a/aleksis/apps/alsijil/schema/documentation.py +++ b/aleksis/apps/alsijil/schema/documentation.py @@ -171,9 +171,8 @@ class DocumentationBatchCreateOrUpdateMutation(graphene.Mutation): # 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. obj = Documentation.objects.create( - datetime_start=datetime.fromisoformat(datetime_start).replace(tzinfo=timezone.utc), - datetime_end=datetime.fromisoformat(datetime_end).replace(tzinfo=timezone.utc), - timezone=lesson_event.timezone, + datetime_start=datetime.fromisoformat(datetime_start).astimezone(lesson_event.timezone), + datetime_end=datetime.fromisoformat(datetime_end).astimezone(lesson_event.timezone), lesson_event=lesson_event, course=lesson_event.course, subject=lesson_event.subject, -- GitLab