diff --git a/src/plainui/tests.py b/src/plainui/tests.py index f7344af7cd63a130a8c7f476c24ccd6a4aa6e638..b89515936f4d55331f3d32222d2d7e7b64758ea0 100644 --- a/src/plainui/tests.py +++ b/src/plainui/tests.py @@ -1395,13 +1395,13 @@ class ViewsTest(TestCase): track.save() event1 = Event( conference=self.conf, assembly=assembly, track=track, name='Event1_1', is_public=True, room=room, - schedule_start=datetime(2020, 1, 2, 0, 0, 0, tzinfo=utc), schedule_duration=timedelta(minutes=45) + schedule_start=datetime(2020, 1, 2, 0, 15, 0, tzinfo=utc), schedule_duration=timedelta(minutes=45) ) event1.save() EventParticipant(is_public=True, participant=self.user, event=event1, role=EventParticipant.Role.SPEAKER).save() event2 = Event( conference=self.conf, assembly=assembly, track=track, name='Event1_2', is_public=True, room=room, - schedule_start=datetime(2020, 1, 2, 1, 0, 0, tzinfo=utc), schedule_duration=timedelta(minutes=45) + schedule_start=datetime(2020, 1, 2, 1, 15, 0, tzinfo=utc), schedule_duration=timedelta(minutes=45) ) event2.save() @@ -1420,6 +1420,7 @@ class ViewsTest(TestCase): self.assertEqual(resp.context_data['mode'], 'calendar') self.assertEqual(resp.context_data['events'], { 'rooms_with_events': [(room, [ + {'type': 'space', 'minutes': 15.0}, {'type': 'event', 'event': event1, 'minutes': 45.0}, {'type': 'space', 'minutes': 15.0}, {'type': 'event', 'event': event2, 'minutes': 45.0} diff --git a/src/plainui/views.py b/src/plainui/views.py index 1c8b61bcc108422a529a2a5266c14470ad4d837a..57e5c833bf500d9a2b100ec775397f650ce0dfc0 100644 --- a/src/plainui/views.py +++ b/src/plainui/views.py @@ -980,6 +980,9 @@ def _organize_events_for_calendar(conf, events): for event in events: if first_start is None: first_start = event.schedule_start + calendar_start = localtime(first_start.replace(minute=0, second=0, microsecond=0)) + if localtime(first_start) != calendar_start: + first_start = first_start - (localtime(first_start) - calendar_start) if event.room_id not in events_by_room: events_by_room[event.room_id] = []