summaryrefslogtreecommitdiffstats
path: root/hyperkitty/templatetags
diff options
context:
space:
mode:
authorAurélien Bompard <aurelien@bompard.org>2012-11-14 17:35:01 +0100
committerAurélien Bompard <aurelien@bompard.org>2012-11-14 17:35:01 +0100
commit620af3602be20f1184d477715add032d5f5f14f9 (patch)
treeff0c385cf2e0b86064ae3c435602c0939f9589d1 /hyperkitty/templatetags
parentb6b540c44917744098805e5f70207289a3755eac (diff)
downloadhyperkitty-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.py14
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)