Display event timestamps in the current user’s time zone

This commit is contained in:
Gergely Polonkai 2018-07-03 12:09:15 +02:00
parent 8a7772917c
commit d07e34a182
2 changed files with 13 additions and 2 deletions

View File

@ -197,6 +197,18 @@ class Event(db.Model):
return self.__as_tz(self.end_time) return self.__as_tz(self.end_time)
def start_time_for_user(self, user):
"""The same timestamp as `start_time`, but in the time zone of `user`
"""
return self.__as_tz(self.start_time, as_timezone=user.timezone)
def end_time_for_user(self, user):
"""The same timestamp as `end_time`, but in the time zone of `user`
"""
return self.__as_tz(self.end_time, as_timezone=user.timezone)
def __repr__(self): def __repr__(self):
return f'<Event {self.id} ({self.title}) of {self.user}>' return f'<Event {self.id} ({self.title}) of {self.user}>'

View File

@ -119,8 +119,7 @@
<span class="day-num">{{ day.day }}</span> <span class="day-num">{{ day.day }}</span>
{% for event in calendar.day_events(day, user=current_user) %} {% for event in calendar.day_events(day, user=current_user) %}
<div class="event"> <div class="event">
{{ event.start_time_tz.strftime('%H:%M') }}{{ event.end_time_tz.strftime('%H:%M') }} {{ event.start_time_for_user(current_user).strftime('%H:%M') }}{{ event.end_time_for_user(current_user).strftime('%H:%M') }}
({{ event.time_zone }})
{{ event.title }} {{ event.title }}
</div> </div>
{% endfor %} {% endfor %}