mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-18 05:51:26 +02:00
fixed #81
Added user option + menu entries to enable/disable HTML links display.
This commit is contained in:
@@ -57,6 +57,9 @@ def init():
|
||||
parameters.register_user("MESSAGES_PER_PAGE", type="int", deflt=40,
|
||||
label=_("Number of displayed emails per page"),
|
||||
help=_("Sets the maximum number of messages displayed in a page"))
|
||||
parameters.register_user("ENABLE_LINKS", type="list_yesno", deflt="no",
|
||||
label=_("Enable HTML links display"),
|
||||
help=_("Enable/Disable HTML links display"))
|
||||
|
||||
def destroy():
|
||||
events.unregister("UserMenuDisplay", menu)
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
|
||||
{% extends "common/email_listing.html" %}
|
||||
{% load i18n %}
|
||||
{% block css %}
|
||||
@@ -19,6 +20,22 @@
|
||||
if ($defined(resp.folders)) {
|
||||
$("folders").set("html", resp.folders);
|
||||
}
|
||||
select($$("a[href=" + current_anchor.getbaseurl() + "]"));
|
||||
$$("li[class*=clickable]").removeEvents();
|
||||
$$("li[class*=clickable]").addEvent("click", function(evt) {
|
||||
$$("ul[name=" + evt.target.get("name") + "]").each(function(item) {
|
||||
if (item.hasClass("hidden")) {
|
||||
evt.target.setStyle("background",
|
||||
"url('{{ MEDIA_URL }}pics/folder-open.png') no-repeat");
|
||||
item.removeClass("hidden").addClass("visible");
|
||||
} else {
|
||||
evt.target.setStyle("background",
|
||||
"url('{{ MEDIA_URL }}pics/subfolders.png') no-repeat");
|
||||
item.removeClass("visible").addClass("hidden");
|
||||
}
|
||||
});
|
||||
evt.stop();
|
||||
});
|
||||
if ($defined(resp.quota) && resp.quota != "-1") {
|
||||
quota_pb.set(resp.quota);
|
||||
$("quotabox").setStyle("display", "block");
|
||||
@@ -60,6 +77,14 @@
|
||||
select($$("a[href=" + current_anchor.getbaseurl() + "]"));
|
||||
}}).get();
|
||||
});
|
||||
$$("a[name=activate_links]").addEvent("click", function(evt) {
|
||||
evt.stop();
|
||||
current_anchor.setparam("links", "1").update();
|
||||
});
|
||||
$$("a[name=disable_links]").addEvent("click", function(evt) {
|
||||
evt.stop();
|
||||
current_anchor.setparam("links", "0").update();
|
||||
});
|
||||
setDivHeight("mailcontent", 5, 0);
|
||||
});
|
||||
|
||||
@@ -187,20 +212,6 @@
|
||||
register_callback("folder", function(resp) {
|
||||
wm_updatelisting(resp);
|
||||
rtimer = refreshFolder.periodical({{ refreshrate }});
|
||||
select($$("a[href=" + current_anchor.getbaseurl() + "]"));
|
||||
$$("li[class*=clickable]").removeEvents();
|
||||
$$("li[class*=clickable]").addEvent("click", function(evt) {
|
||||
$$("ul[name=" + evt.target.get("name") + "]").each(function(item) {
|
||||
if (item.hasClass("hidden")) {
|
||||
evt.target.setStyle("background", "url('{{ MEDIA_URL }}pics/folder-open.png') no-repeat");
|
||||
item.removeClass("hidden").addClass("visible");
|
||||
} else {
|
||||
evt.target.setStyle("background", "url('{{ MEDIA_URL }}pics/subfolders.png') no-repeat");
|
||||
item.removeClass("visible").addClass("hidden");
|
||||
}
|
||||
});
|
||||
evt.stop();
|
||||
});
|
||||
searchbox_init();
|
||||
if (navparams.has("order")) {
|
||||
src = navparams.get("order").charAt(0) == "-" ? "down_arrow.png" : "up_arrow.png";
|
||||
|
||||
@@ -32,6 +32,19 @@ def viewm_menu(selection, backurl, folder, mail_id, user):
|
||||
"img" : static_url("pics/remove.png"),
|
||||
"url" : reverse(webmail.views.delete, args=[folder, mail_id]),
|
||||
"label" : _("Delete")},
|
||||
{"name" : "display_options",
|
||||
"label" : _("Display options"),
|
||||
"img" : static_url("pics/settings.png"),
|
||||
"class" : "menubardropdown",
|
||||
"menu" : [
|
||||
{"name" : "activate_links",
|
||||
"label" : _("Activate links"),
|
||||
"url" : reverse(webmail.views.viewmail, args=[folder, mail_id]) + "?links=1"},
|
||||
{"name" : "disable_links",
|
||||
"label" : _("Disable links"),
|
||||
"url" : reverse(webmail.views.viewmail, args=[folder, mail_id]) + "?links=0"},
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
return render_to_string('common/menu.html',
|
||||
|
||||
@@ -101,9 +101,14 @@ def fetchmail(request, folder, mail_id, all=False):
|
||||
def viewmail(request, folder, mail_id=None):
|
||||
from templatetags.webextras import viewm_menu
|
||||
|
||||
if request.GET.has_key("links"):
|
||||
links = int(request.GET["links"])
|
||||
else:
|
||||
links = parameters.get_user(request.user, "ENABLE_LINKS") == "yes" and 1 or 0
|
||||
url = reverse(getmailcontent, args=[folder, mail_id]) + ("?links=%d" % links)
|
||||
content = Template("""
|
||||
<iframe width="100%" frameBorder="0" src="{{ url }}" id="mailcontent"></iframe>
|
||||
""").render(Context({"url" : reverse(getmailcontent, args=[folder, mail_id])}))
|
||||
""").render(Context({"url" : url}))
|
||||
menu = viewm_menu("", __get_current_url(request), folder, mail_id,
|
||||
request.user.get_all_permissions())
|
||||
mbc = IMAPconnector(user=request.user.username,
|
||||
@@ -119,7 +124,7 @@ def getmailcontent(request, folder, mail_id):
|
||||
if "class" in msg.keys() and msg["class"] == "unseen":
|
||||
IMAPconnector(user=request.user.username,
|
||||
password=request.session["password"]).msg_read(folder, mail_id)
|
||||
email = ImapEmail(msg, request.user, links="1")
|
||||
email = ImapEmail(msg, request.user, links=request.GET["links"])
|
||||
try:
|
||||
pageid = request.session["page"]
|
||||
except KeyError:
|
||||
|
||||
Reference in New Issue
Block a user