From 853f7fb3c767109914c209f64afeef7c1f57ff71 Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Wed, 27 Feb 2013 00:30:19 +0100 Subject: [PATCH] Mailbox rename is now working as expected. fix #383 --- .../extensions/webmail/static/webmail/js/webmail.js | 10 ++++++---- modoboa/extensions/webmail/views.py | 6 +++--- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/modoboa/extensions/webmail/static/webmail/js/webmail.js b/modoboa/extensions/webmail/static/webmail/js/webmail.js index 5d85a919e..47bf4dd0f 100644 --- a/modoboa/extensions/webmail/static/webmail/js/webmail.js +++ b/modoboa/extensions/webmail/static/webmail/js/webmail.js @@ -558,16 +558,18 @@ Webmail.prototype = { * If needed, the mailbox will be moved to its new location. */ rename_mailbox: function(oldname, newname, oldparent, newparent) { - var pattern = (oldparent) ? oldparent + "." + oldname : oldname; - var $link = $("#folders").find('a[href="' + pattern + '"]'); + var oldpattern = (oldparent) ? oldparent + "." + oldname : oldname; + var newpattern = (newparent) ? newparent + "." + newparent : newname; + var $link = $("#folders").find('a[href="' + oldpattern + '"]'); if (oldname != newname) { var $i = $link.children("i"); $link.html(newname); - $link.parent("li").attr("name", pattern); + $link.parent("li").attr("name", newpattern); $link.prepend($i); - $link.attr("href", pattern); + $link.attr("href", newpattern); + this.navobject.setparam("mbox", newname).update(false, true); } if (oldparent != newparent) { var newlocation = (newparent) ? newparent + "." + newname : newname; diff --git a/modoboa/extensions/webmail/views.py b/modoboa/extensions/webmail/views.py index 4a8ee320b..7f185c5cc 100644 --- a/modoboa/extensions/webmail/views.py +++ b/modoboa/extensions/webmail/views.py @@ -163,8 +163,7 @@ def editfolder(request, tplname="webmail/folder.html"): if request.method == "POST": form = FolderForm(request.POST) if form.is_valid(): - pf = request.POST.has_key("parent_folder") \ - and request.POST["parent_folder"] or None + pf = request.POST.get("parent_folder", None) ctx["selected"] = pf oldname, oldparent = separate_mailbox(request.POST["oldname"]) res = dict(status="ok", respmsg=_("Mailbox updated")) @@ -177,7 +176,8 @@ def editfolder(request, tplname="webmail/folder.html"): res["newmb"] = form.cleaned_data["name"] res["oldparent"] = oldparent res["newparent"] = pf - del request.session["mbox"] + if "mbox" in request.session: + del request.session["mbox"] return ajax_simple_response(res) ctx["mboxes"] = mbc.getmboxes(request.user)