Skip to content

Commit

Permalink
Fix bug in calendar view due to timezones
Browse files Browse the repository at this point in the history
Events starting next day due to the timezone were being wrongly
marked as "ongoing".
  • Loading branch information
pferreir committed Apr 23, 2019
1 parent cbcff82 commit 9e4a3c4
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion indico/modules/categories/controllers/display.py
Expand Up @@ -608,6 +608,7 @@ def __init__(self, event, date, tzinfo, timetable_objects):
assert date <= event.end_dt
object.__setattr__(self, '_start_dt', start_dt)
object.__setattr__(self, '_real_event', event)
object.__setattr__(self, '_event_tz_start_date', event.start_dt.astimezone(tzinfo).date())
object.__setattr__(self, '_timetable_objects', timetable_objects)

def __getattribute__(self, name):
Expand All @@ -617,7 +618,10 @@ def __getattribute__(self, name):
if name == 'timetable_objects':
return object.__getattribute__(self, '_timetable_objects')
if name == 'ongoing':
return event.start_dt.date() != self.start_dt.date()
# the event is "ongoing" if the dates (in the tz of the category)
# of the event and the proxy (calendar entry) don't match
event_start_date = object.__getattribute__(self, '_event_tz_start_date')
return event_start_date != self.start_dt.date()
if name == 'first_occurence_start_dt':
return event.start_dt
return getattr(event, name)
Expand Down

0 comments on commit 9e4a3c4

Please sign in to comment.