From 214c6f52b4bf14f3484c74fae4d669e58c9fa623 Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Sun, 8 Apr 2012 15:06:33 +0200 Subject: [PATCH] X-Amavis-Alert is now displayed apart, just before the headers and using a bootstrap alert box. see #234 --- extensions/amavis_quarantine/lib.py | 2 +- extensions/amavis_quarantine/sql_listing.py | 28 +++++++++++++++------ templates/common/mailheaders.html | 2 ++ 3 files changed, 24 insertions(+), 8 deletions(-) diff --git a/extensions/amavis_quarantine/lib.py b/extensions/amavis_quarantine/lib.py index 20ec94177..f7bdf1700 100644 --- a/extensions/amavis_quarantine/lib.py +++ b/extensions/amavis_quarantine/lib.py @@ -42,7 +42,7 @@ def get_nb_requests(user): doms = user.get_domains() regexp = "(%s)" % '|'.join(map(lambda dom: dom.name, doms)) doms_q = Q(rid__email__regex=regexp) - rp &= doms_q + rq &= doms_q return len(Msgrcpt.objects.filter(rq)) class AMrelease(object): diff --git a/extensions/amavis_quarantine/sql_listing.py b/extensions/amavis_quarantine/sql_listing.py index c960e1528..3eda197ac 100644 --- a/extensions/amavis_quarantine/sql_listing.py +++ b/extensions/amavis_quarantine/sql_listing.py @@ -97,17 +97,31 @@ class SQLlisting(EmailListing): class SQLemail(Email): def __init__(self, msg, *args, **kwargs): super(SQLemail, self).__init__(msg, *args, **kwargs) - fields = ["X-Amavis-Alert", "Subject", "From", "To", "Cc", "Date"] + fields = ["Subject", "From", "To", "Cc", "Date"] for f in fields: label = f - if not msg.has_key(f): - f = f.upper() - if not msg.has_key(f): - self.headers += [{"name" : label, "value" : ""}] - continue - self.headers += [{"name" : label, "value" : msg[f]}] + self.headers += [{"name" : label, "value" : self.get_header(msg, f)}] try: label = re.sub("-", "_", label) setattr(self, label, msg[f]) except: pass + qreason = self.get_header(msg, "X-Amavis-Alert") + self.qtype = "" + self.qreason = "" + if self.qreason != "": + self.qtype, self.qreason = qreason.split(',', 2) + + def get_header(self, msg, name): + if msg.has_key(name): + return msg[name] + name = name.upper() + if msg.has_key(name): + return msg[name] + return "" + + def render_headers(self, **kwargs): + return render_to_string("amavis_quarantine/mailheaders.html", { + "qtype" : self.qtype, "qreason" : self.qreason, + "headers" : self.headers, + }) diff --git a/templates/common/mailheaders.html b/templates/common/mailheaders.html index 30cec66d6..560651699 100644 --- a/templates/common/mailheaders.html +++ b/templates/common/mailheaders.html @@ -1,7 +1,9 @@ {% load i18n %} +{% block emailheaders %} {% for hdr in headers %} {% endfor %} {% block extraheaders %}{% endblock %}
{% trans hdr.name %}{{ hdr.value }}
+{% endblock %}