From 9c26e91aacb8bbc376938d98f216bebd0e43fd3a Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Tue, 4 Jun 2013 09:40:35 +0200 Subject: [PATCH] Increment unseen counter when moving to trash. see #422 --- .../webmail/static/webmail/js/webmail.js | 4 +++- .../webmail/templates/webmail/index.html | 3 ++- modoboa/extensions/webmail/views.py | 16 ++++++++++------ 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/modoboa/extensions/webmail/static/webmail/js/webmail.js b/modoboa/extensions/webmail/static/webmail/js/webmail.js index b56ede806..973a81638 100644 --- a/modoboa/extensions/webmail/static/webmail/js/webmail.js +++ b/modoboa/extensions/webmail/static/webmail/js/webmail.js @@ -14,7 +14,8 @@ Webmail.prototype = { move_url: "", submboxes_url: "", delattachment_url: "", - ro_mboxes: ["INBOX"] + ro_mboxes: ["INBOX"], + trash: "" }, initialize: function(options) { @@ -665,6 +666,7 @@ Webmail.prototype = { } }); this.change_unseen_messages(this.get_current_mailbox(), -unseen_cnt); + this.change_unseen_messages(this.options.trash, unseen_cnt); $.ajax({ url: $link.attr("href"), data: {mbox: this.get_current_mailbox(), selection: selection}, diff --git a/modoboa/extensions/webmail/templates/webmail/index.html b/modoboa/extensions/webmail/templates/webmail/index.html index b633e35c7..b404f7efc 100644 --- a/modoboa/extensions/webmail/templates/webmail/index.html +++ b/modoboa/extensions/webmail/templates/webmail/index.html @@ -19,7 +19,8 @@ $(document).ready(function() { submboxes_url: "{% url 'modoboa.extensions.webmail.views.submailboxes' %}", deflocation: "{{ deflocation }}", defcallback: "{{ defcallback }}", - ro_mboxes: {% tolist ro_mboxes %} + ro_mboxes: {% tolist ro_mboxes %}, + trash: "{{ trash }}" }); }); diff --git a/modoboa/extensions/webmail/views.py b/modoboa/extensions/webmail/views.py index a6328d762..2288667cb 100644 --- a/modoboa/extensions/webmail/views.py +++ b/modoboa/extensions/webmail/views.py @@ -78,9 +78,10 @@ def delete(request): selection = [item for item in selection if item.isdigit()] mbc = get_imapconnector(request) mbc.move(",".join(selection), mbox, parameters.get_user(request.user, "TRASH_FOLDER")) + count = len(selection) message = ungettext("%(count)d message deleted", "%(count)d messages deleted", - len(selection)) % {"count": len(selection)} + count) % {"count": count} resp = dict(status="ok", respmsg=message) return ajax_simple_response(resp) @@ -506,11 +507,14 @@ def index(request): response["refreshrate"] = \ int(parameters.get_user(request.user, "REFRESH_INTERVAL")) response["quota"] = ImapListing.computequota(imapc) - response["ro_mboxes"] = ["INBOX", "Junk", - parameters.get_user(request.user, "SENT_FOLDER"), - parameters.get_user(request.user, "TRASH_FOLDER"), - parameters.get_user(request.user, "DRAFTS_FOLDER")] - + trash = parameters.get_user(request.user, "TRASH_FOLDER") + response["trash"] = trash + response["ro_mboxes"] = [ + "INBOX", "Junk", + parameters.get_user(request.user, "SENT_FOLDER"), + trash, + parameters.get_user(request.user, "DRAFTS_FOLDER") + ] return _render(request, "webmail/index.html", response) if action in ["reply", "forward"]: