diff --git a/extensions/amavis_quarantine/static/js/quarantine.js b/extensions/amavis_quarantine/static/js/quarantine.js index c7b2a4eee..d07b7f274 100644 --- a/extensions/amavis_quarantine/static/js/quarantine.js +++ b/extensions/amavis_quarantine/static/js/quarantine.js @@ -49,7 +49,7 @@ Quarantine.prototype = { $(document).on("click", "a[name=release]", $.proxy(this.release, this)); $(document).on("click", "a[name=delete]", $.proxy(this.delete, this)); - $(document).on("click", "a[name=viewmode]", $.proxy(this.update_params, this)); + $(document).on("click", "a[name=headers]", $.proxy(this.headers, this)); }, load_page: function(e) { @@ -152,6 +152,39 @@ Quarantine.prototype = { this._send_action(e, gettext("Delete this message?")); }, + show_rawheaders: function($mailcontent) { + $mailcontent.find("#rawheaders").removeClass("hidden"); + $mailcontent.find("#emailheaders").addClass("hidden"); + }, + + headers: function(e) { + e.preventDefault(); + + var $link = $(e.target); + var $mailcontent = $("#mailcontent").contents(); + var $headers = $mailcontent.find("#emailheaders"); + var $rawheaders = $mailcontent.find("#rawheaders"); + + if ($headers.hasClass("hidden")) { + $link.html(gettext("View full headers")); + $headers.removeClass("hidden"); + $rawheaders.addClass("hidden"); + return; + } + $link.html(gettext("Hide full headers")); + if (!$rawheaders.length) { + $.ajax({ + url: $link.attr("href"), + success: $.proxy(function(data) { + $mailcontent.find("#table-container").append($(data)); + this.show_rawheaders($mailcontent); + }, this) + }); + return; + } + this.show_rawheaders($mailcontent); + }, + update_params: function(e) { var $link = $(e.target); e.preventDefault(); diff --git a/extensions/amavis_quarantine/templates/amavis_quarantine/viewheader.html b/extensions/amavis_quarantine/templates/amavis_quarantine/viewheader.html index 50c749ef8..3cd8ab7c5 100644 --- a/extensions/amavis_quarantine/templates/amavis_quarantine/viewheader.html +++ b/extensions/amavis_quarantine/templates/amavis_quarantine/viewheader.html @@ -1,11 +1,4 @@ -{% extends "common/generic_modal.html" %} -{% load i18n %} -{% block modalbody %} -
| {{ k }} | {{ v }} | -