diff --git a/program/views.py b/program/views.py index 00b4ca03d0baf95d22f39f3e1a377d9c85337c40..66804e342b6a5d6743087b77d2efb1658a476acc 100644 --- a/program/views.py +++ b/program/views.py @@ -89,8 +89,9 @@ def timeslot_entry(*, timeslot: TimeSlot) -> dict: return { "id": timeslot.id, - "start": timeslot.start.strftime("%Y-%m-%dT%H:%M:%S"), - "end": timeslot.end.strftime("%Y-%m-%dT%H:%M:%S"), + # we need start & end as timezone naive datetime objects + "start": timezone.make_naive(timeslot.start).strftime("%Y-%m-%dT%H:%M:%S"), + "end": timezone.make_naive(timeslot.end).strftime("%Y-%m-%dT%H:%M:%S"), "title": title, "schedule_id": schedule.id, "is_repetition": timeslot.is_repetition, @@ -175,9 +176,9 @@ def json_playout(request): - internal calendar to retrieve all timeslots for a week """ - # datetime.combine returns a timezone naive datetime object + # datetime.now and datetime.combine return timezone naive datetime objects if request.GET.get("start") is None: - schedule_start = timezone.make_aware(datetime.combine(timezone.now(), time(0, 0))) + schedule_start = timezone.make_aware(datetime.combine(datetime.now(), time(0, 0))) else: schedule_start = timezone.make_aware( datetime.combine(parse_date(request.GET.get("start")), time(0, 0)) @@ -187,8 +188,7 @@ def json_playout(request): schedule_end = schedule_start + timedelta(days=7) else: schedule_end = timezone.make_aware( - datetime.combine(parse_date(request.GET.get("end")) + timedelta(days=1), time(0, 0)), - timezone=timezone.get_current_timezone(), + datetime.combine(parse_date(request.GET.get("end")) + timedelta(days=1), time(0, 0)) ) include_virtual = request.GET.get("includeVirtual") == "true"