diff options
author | Aurélien Bompard <aurelien@bompard.org> | 2012-11-14 17:35:01 +0100 |
---|---|---|
committer | Aurélien Bompard <aurelien@bompard.org> | 2012-11-14 17:35:01 +0100 |
commit | 620af3602be20f1184d477715add032d5f5f14f9 (patch) | |
tree | ff0c385cf2e0b86064ae3c435602c0939f9589d1 /hyperkitty/templatetags | |
parent | b6b540c44917744098805e5f70207289a3755eac (diff) | |
download | hyperkitty-620af3602be20f1184d477715add032d5f5f14f9.tar.gz hyperkitty-620af3602be20f1184d477715add032d5f5f14f9.tar.xz hyperkitty-620af3602be20f1184d477715add032d5f5f14f9.zip |
Adapt to MySQL support splitting out the timezone offset
Since the sender's timezone is in a separate column, we can now display
the message date in Django's timezone and in the sender's timezone.
Future improvement : ask the user for his/her preferred timezone and store
it in his/her profile. Then use that to display the dates, instead of
Django's server-wide setting.
Diffstat (limited to 'hyperkitty/templatetags')
-rw-r--r-- | hyperkitty/templatetags/hk_generic.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/hyperkitty/templatetags/hk_generic.py b/hyperkitty/templatetags/hk_generic.py index b5f13e6..bfe234c 100644 --- a/hyperkitty/templatetags/hk_generic.py +++ b/hyperkitty/templatetags/hk_generic.py @@ -1,8 +1,10 @@ import datetime import re +from dateutil.tz import tzutc, tzoffset from django import template from django.utils.datastructures import SortedDict +from django.templatetags.tz import localtime register = template.Library() @@ -100,3 +102,15 @@ def escapeemail(text): text = MAILTO_RE.sub(r"\1(a)\2", text) return text.replace("@", u"\uff20") + +@register.filter() +def sender_date(email): + tz = tzoffset(None, email.timezone * 60) + email_date = email.date.replace(tzinfo=tzutc()) + return email_date.astimezone(tz) + + +@register.filter() +def viewer_date(email): + email_date = email.date.replace(tzinfo=tzutc()) + return localtime(email_date) |