summaryrefslogtreecommitdiffstats
path: root/hyperkitty
diff options
context:
space:
mode:
Diffstat (limited to 'hyperkitty')
-rw-r--r--hyperkitty/templates/messages/message.html3
-rw-r--r--hyperkitty/templates/month_view.html4
-rw-r--r--hyperkitty/templatetags/hk_generic.py5
3 files changed, 8 insertions, 4 deletions
diff --git a/hyperkitty/templates/messages/message.html b/hyperkitty/templates/messages/message.html
index 415bc58..a77c694 100644
--- a/hyperkitty/templates/messages/message.html
+++ b/hyperkitty/templates/messages/message.html
@@ -1,5 +1,6 @@
{% load storm %}
{% load gravatar %}
+{% load hk_generic %}
<div class="email_header">
<div class="email_date inline-block pull-right">
@@ -32,7 +33,7 @@
{% else %}
<div class="email_body">
{% endif %}
-{{email.content|urlizetrunc:76}}
+{{email.content|urlizetrunc:76|escapeemail}}
</div>
{% if unfolded and email.attachments|count %}
diff --git a/hyperkitty/templates/month_view.html b/hyperkitty/templates/month_view.html
index a6239fe..97bd2e8 100644
--- a/hyperkitty/templates/month_view.html
+++ b/hyperkitty/templates/month_view.html
@@ -8,7 +8,7 @@
<div id="month-view">
<div class="month-header">
- <div class="list-name">{{ mlist.display_name|default:mlist.name|escapeatsign }}</div>
+ <div class="list-name">{{ mlist.display_name|default:mlist.name|escapeemail }}</div>
<div class="month-name">{{ month|date:"F Y"|capfirst }}</div>
<ul class="month-info">
<li class="participant">
@@ -20,7 +20,7 @@
</ul>
{% if mlist.display_name %}
<p class="list-address">
- <a href="mailto:{{ list_address|escapeatsign }}">{{ list_address|escapeatsign }}</a>
+ {{ list_address|escapeemail }}
</p>
{% endif %}
</div>
diff --git a/hyperkitty/templatetags/hk_generic.py b/hyperkitty/templatetags/hk_generic.py
index d7e3d2c..b5f13e6 100644
--- a/hyperkitty/templatetags/hk_generic.py
+++ b/hyperkitty/templatetags/hk_generic.py
@@ -92,8 +92,11 @@ def truncatesmart(value, limit=80):
return ' '.join(words) + '...'
+MAILTO_RE = re.compile("<a href=['\"]mailto:([^'\"]+)@([^'\"]+)['\"]>[^<]+</a>")
@register.filter(is_safe=True)
-def escapeatsign(text):
+def escapeemail(text):
"""To escape email addresses"""
+ # reverse the effect of urlize() on email addresses
+ text = MAILTO_RE.sub(r"\1(a)\2", text)
return text.replace("@", u"\uff20")