Skip to content

Commit

Permalink
Fix timezone
Browse files Browse the repository at this point in the history
  • Loading branch information
vidya-ram committed Aug 20, 2019
1 parent 07a5cc0 commit c377ae6
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 14 deletions.
5 changes: 3 additions & 2 deletions funnel/assets/js/schedule_view.js
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,8 @@ const Schedule = {
/* new Date().getTimezoneOffset() - the time difference
between UTC and browser timezone in minutes
*/
return (new Date().getTimezoneOffset() * 60000 + this.timezoneOffset);
const jsDate = new Date();
return (jsDate.getTimezoneOffset() * 60000 + this.timezoneOffset);
},
getEventDay(eventDate, eventDayshash) {
const day = this.getEventDate(eventDate);
Expand All @@ -260,7 +261,7 @@ const Schedule = {
return date.getDate();
},
getTime(dateTime) {
return new Date(dateTime + this.getTimeZoneOffset()).getTime();
return new Date(new Date(dateTime).getTime() + this.getTimeZoneOffset()).getTime();
},
getDateString(eventDate) {
return new Date(this.getTime(eventDate)).toDateString();
Expand Down
36 changes: 24 additions & 12 deletions funnel/views/session.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
# -*- coding: utf-8 -*-

from flask import abort, jsonify, redirect, render_template, request
from datetime import datetime

from baseframe import _
from baseframe import _, localize_timezone
from coaster.auth import current_auth
from coaster.sqlalchemy import failsafe_add
from coaster.utils import utcnow
Expand Down Expand Up @@ -115,25 +116,36 @@ class SessionView(SessionViewMixin, UrlForView, ModelView):
@render_with('schedule.html.jinja2', json=True)
def view(self):
project_save_form = SavedProjectForm()
scheduled_sessions_list = session_list_data(
self.obj.project.scheduled_sessions, with_modal_url='view_popup'
)
return {
'project': self.obj.project,
'active_session': session_data(self.obj, with_modal_url='view_popup'),
'from_date': date_js(self.obj.project.schedule_start_at),
'to_date': date_js(self.obj.project.schedule_end_at),
'sessions': session_list_data(self.obj.project.scheduled_sessions, with_modal_url='view_popup'),
'schedule': schedule_data(self.obj.project, slots=False),
# FIXME: This timezone by UTC offset is not accounting for DST. Look up where it's being used and fix it
'timezone': (
utcnow()
.astimezone(self.obj.project.timezone)
.utcoffset()
.total_seconds()
'from_date': (
localize_timezone(
self.obj.project.schedule_start_at, tz=self.obj.project.timezone
).isoformat()
if self.obj.project.schedule_start_at
else None
),
'to_date': (
localize_timezone(
self.obj.project.schedule_end_at, tz=self.obj.project.timezone
).isoformat()
if self.obj.project.schedule_start_at
else None
),
'active_session': session_data(self.obj, with_modal_url='view_popup'),
'sessions': scheduled_sessions_list,
'timezone': self.obj.project.timezone.utcoffset(datetime.now()).total_seconds(),
'venues': [venue.current_access() for venue in self.obj.project.venues],
'rooms': {
room.scoped_name: {'title': room.title, 'bgcolor': room.bgcolor}
for room in self.obj.project.rooms
},
'schedule': schedule_data(
self.obj, slots=False, scheduled_sessions=scheduled_sessions_list
),
'project_save_form': project_save_form,
}

Expand Down

0 comments on commit c377ae6

Please sign in to comment.