diff --git a/modoboa/extensions/webmail/templatetags/webextras.py b/modoboa/extensions/webmail/templatetags/webextras.py index 7efffbb13..c7e3f9e7a 100644 --- a/modoboa/extensions/webmail/templatetags/webextras.py +++ b/modoboa/extensions/webmail/templatetags/webextras.py @@ -10,113 +10,118 @@ from modoboa.lib import parameters register = template.Library() + @register.simple_tag def viewmail_menu(selection, folder, user, mail_id=None): entries = [ - {"name" : "reply", - "url" : "action=reply&mbox=%s&mailid=%s" % (folder, mail_id), - "img" : "icon-share", - "label" : _("Reply")}, - {"name" : "replyall", - "url" : "action=reply&mbox=%s&mailid=%s&all=1" % (folder, mail_id), - "img" : "", - "label" : _("Reply all")}, - {"name" : "forward", - "url" : "action=forward&mbox=%s&mailid=%s" % (folder, mail_id), - "img" : "icon-arrow-right", - "label" : _("Forward")}, - {"name" : "delete", - "img" : "icon-trash", - "url" : reverse(webmail.views.delete) + "?mbox=%s&selection[]=%s" % (folder, mail_id), - "label" : _("Delete")}, - {"name" : "display_options", - "label" : _("Display options"), - "menu" : [ - {"name" : "activate_links", - "label" : _("Activate links")}, - {"name" : "disable_links", - "label" : _("Disable links")} - ] + {"name": "reply", + "url": "action=reply&mbox=%s&mailid=%s" % (folder, mail_id), + "img": "icon-share", + "label": _("Reply")}, + {"name": "replyall", + "url": "action=reply&mbox=%s&mailid=%s&all=1" % (folder, mail_id), + "img": "", + "label": _("Reply all")}, + {"name": "forward", + "url": "action=forward&mbox=%s&mailid=%s" % (folder, mail_id), + "img": "icon-arrow-right", + "label": _("Forward")}, + {"name": "delete", + "img": "icon-trash", + "url": reverse(webmail.views.delete) + "?mbox=%s&selection[]=%s" % (folder, mail_id), + "label": _("Delete")}, + {"name": "display_options", + "label": _("Display options"), + "menu": [ + {"name": "activate_links", + "label": _("Activate links")}, + {"name": "disable_links", + "label": _("Disable links")} + ] } - ] + ] menu = render_to_string('common/buttons_list.html', - {"selection" : selection, "entries" : entries, - "user" : user, "extraclasses" : "pull-left"}) - - entries = [{"name" : "close", - "title" : _("Close this message"), - "img" : "icon-remove"}] - menu += render_to_string('common/buttons_list.html', - {"entries" : entries, "extraclasses" : "pull-right"}) + {"selection": selection, "entries": entries, + "user": user, "extraclasses": "pull-left"}) + entries = [{"name": "close", + "title": _("Close this message"), + "img": "icon-remove"}] + menu += render_to_string( + 'common/buttons_list.html', + {"entries": entries, "extraclasses": "pull-right"} + ) return menu + @register.simple_tag def compose_menu(selection, backurl, user): entries = [ - {"name" : "back", - "url" : "javascript:history.go(-2);", - "img" : "icon-arrow-left", - "label" : _("Back")}, - {"name" : "sendmail", - "url" : "", - "img" : "icon-envelope", - "label" : _("Send")}, - ] + {"name": "back", + "url": "javascript:history.go(-2);", + "img": "icon-arrow-left", + "label": _("Back")}, + {"name": "sendmail", + "url": "", + "img": "icon-envelope", + "label": _("Send")}, + ] return render_to_string('common/buttons_list.html', - {"selection" : selection, "entries" : entries, - "user" : user}) + {"selection": selection, "entries": entries, + "user": user}) + @register.simple_tag def listmailbox_menu(selection, folder, user): entries = [ - {"name" : "compose", - "url" : "compose", - "img" : "icon-edit", - "label" : _("New message"), - "class" : "btn"}, + {"name": "compose", + "url": "compose", + "img": "icon-edit", + "label": _("New message"), + "class": "btn"}, {"name": "totrash", "label": "", "class": "", "img": "icon-trash", "url": reverse("modoboa.extensions.webmail.views.delete"), - }, - {"name" : "mark", - "label" : _("Mark messages"), - "class" : "btn", - "menu" : [ - {"name" : "mark-read", - "label" : _("As read"), - "url" : reverse(webmail.views.mark, args=[folder]) + "?status=read"}, - {"name" : "mark-unread", - "label" : _("As unread"), - "url" : reverse(webmail.views.mark, args=[folder]) + "?status=unread"} - ] }, - {"name" : "actions", - "label" : _("Actions"), - "class" : "btn", - "menu" : [ - {"name" : "compress", - "label" : _("Compress folder"), - "url" : "compact/%s/" % folder} - ] + {"name": "mark", + "label": _("Mark messages"), + "class": "btn", + "menu": [ + {"name": "mark-read", + "label": _("As read"), + "url": reverse(webmail.views.mark, args=[folder]) + "?status=read"}, + {"name": "mark-unread", + "label": _("As unread"), + "url": reverse(webmail.views.mark, args=[folder]) + "?status=unread"} + ] }, - ] + {"name": "actions", + "label": _("Actions"), + "class": "btn", + "menu": [ + {"name": "compress", + "label": _("Compress folder"), + "url": "compact/%s/" % folder} + ] + }, + ] if folder == parameters.get_user(user, "TRASH_FOLDER"): entries[1]["class"] += " disabled" entries[3]["menu"] += [ - {"name" : "empty", - "label" : _("Empty folder"), - "url" : reverse(webmail.views.empty, args=[folder])} - ] + {"name": "empty", + "label": _("Empty folder"), + "url": reverse(webmail.views.empty, args=[folder])} + ] searchbar = render_to_string('common/email_searchbar.html', { - "STATIC_URL" : settings.STATIC_URL - }) + "STATIC_URL": settings.STATIC_URL + }) return render_to_string('common/buttons_list.html', dict( - selection=selection, entries=entries, extracontent=searchbar, - user=user, css="nav" - )) + selection=selection, entries=entries, extracontent=searchbar, + user=user, css="nav" + )) + @register.simple_tag def print_mailboxes(tree, selected=None, withunseen=False, selectonly=False): @@ -128,12 +133,12 @@ def print_mailboxes(tree, selected=None, withunseen=False, selectonly=False): for mbox in tree: cssclass = "" - name = mbox["path"] if mbox.has_key("sub") else mbox["name"] + name = mbox["path"] if "sub" in mbox else mbox["name"] label = separate_mailbox(mbox["name"])[0] if selected == name: cssclass = "active" result += "