diff --git a/aleksis/apps/chronos/frontend/components/AmendLesson.vue b/aleksis/apps/chronos/frontend/components/AmendLesson.vue index 9dc8a8ff00d3bf8942707075682d4434e2e9a967..7f06f71bbf16b7c5f55b310c13dd087d58833f11 100644 --- a/aleksis/apps/chronos/frontend/components/AmendLesson.vue +++ b/aleksis/apps/chronos/frontend/components/AmendLesson.vue @@ -157,8 +157,8 @@ export default { return { ...item, amends: this.selectedEvent.meta.id, - datetimeStart: this.selectedEvent.startDateTime.toUTC().toISO(), - datetimeEnd: this.selectedEvent.endDateTime.toUTC().toISO(), + datetimeStart: this.$toUTCISO(this.selectedEvent.startDateTime), + datetimeEnd: this.$toUTCISO(this.selectedEvent.endDateTime), // Normalize cancelled, v-checkbox returns null & does not // honor false-value. cancelled: item.cancelled ? true : false, diff --git a/aleksis/apps/chronos/schema/__init__.py b/aleksis/apps/chronos/schema/__init__.py index 279003489d17818eda4487867de799fb1eeef213..d9194e6718112025b4e41713cd00ff5d043bebf6 100644 --- a/aleksis/apps/chronos/schema/__init__.py +++ b/aleksis/apps/chronos/schema/__init__.py @@ -1,5 +1,3 @@ -from datetime import timezone - import graphene from graphene_django import DjangoObjectType @@ -60,27 +58,7 @@ class LessonEventType(DjangoObjectType): amends = graphene.Field(lambda: LessonEventType, required=False) -class DatetimeTimezoneMixin: - """Handle datetimes for mutations with CalendarEvent objects. - - This is necessary because the client sends timezone information as - ISO string which only includes an offset (+00:00 UTC) and an - offset is not a valid timezone. Instead we set UTC as timezone - here directly. - """ - - @classmethod - def handle_datetime_start(cls, value, name, info) -> int: - value = value.replace(tzinfo=timezone.utc) - return value - - @classmethod - def handle_datetime_end(cls, value, name, info) -> int: - value = value.replace(tzinfo=timezone.utc) - return value - - -class AmendLessonBatchCreateMutation(DatetimeTimezoneMixin, BaseBatchCreateMutation): +class AmendLessonBatchCreateMutation(BaseBatchCreateMutation): class Meta: model = LessonEvent permissions = ("chronos.edit_substitution_rule",) @@ -104,7 +82,7 @@ class AmendLessonBatchCreateMutation(DatetimeTimezoneMixin, BaseBatchCreateMutat return created_objects -class AmendLessonBatchPatchMutation(DatetimeTimezoneMixin, BaseBatchPatchMutation): +class AmendLessonBatchPatchMutation(BaseBatchPatchMutation): class Meta: model = LessonEvent permissions = ("chronos.edit_substitution_rule",)