From 83d0670080fad045f6c1753a746e7d29232f7403 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Sun, 21 Dec 2014 12:24:43 -0600 Subject: [PATCH] Show localized times in grade log --- course/flow.py | 8 +++----- courseflow/utils.py | 15 +++++++++++++++ 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/course/flow.py b/course/flow.py index 8827aab0..391726c6 100644 --- a/course/flow.py +++ b/course/flow.py @@ -35,7 +35,7 @@ from django.utils.safestring import mark_safe from django import forms from django import http -from courseflow.utils import StyledForm +from courseflow.utils import StyledForm, local_now, as_local_time from crispy_forms.layout import Submit import re @@ -562,10 +562,9 @@ def reopen_session(session, force=False, suppress_log=False): session.max_points = None if not suppress_log: - from django.utils.timezone import now session.append_comment( "Session reopened at %s, previous completion time was '%s'." - % (now(), session.completion_time)) + % (local_now(), as_local_time(session.completion_time))) session.completion_time = None session.save() @@ -637,8 +636,7 @@ def regrade_session(repo, course, session): else: prev_completion_time = session.completion_time - from django.utils.timezone import now - session.append_comment("Session regraded at %s." % now()) + session.append_comment("Session regraded at %s." % local_now()) session.save() reopen_session(session, force=True, suppress_log=True) diff --git a/courseflow/utils.py b/courseflow/utils.py index ab3c7b23..45c58476 100644 --- a/courseflow/utils.py +++ b/courseflow/utils.py @@ -58,6 +58,21 @@ def settings_context_processor(request): } +def as_local_time(datetime): + from django.conf import settings + from pytz import timezone + tz = timezone(settings.TIME_ZONE) + return datetime.astimezone(tz) + + +def local_now(): + from django.conf import settings + from pytz import timezone + tz = timezone(settings.TIME_ZONE) + from datetime import datetime + return tz.localize(datetime.now()) + + # {{{ dict_to_struct class Struct(object): -- GitLab