From becc1822679b6473502d82c91dd26f19c4228014 Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Mon, 2 Sep 2013 22:10:31 +0200 Subject: [PATCH] Fixing the sieve plugin too. see #435 --- modoboa/extensions/sievefilters/forms.py | 2 +- .../sievefilters/static/sievefilters/js/jquery.dynfields.js | 3 ++- .../extensions/sievefilters/templates/sievefilters/index.html | 3 ++- modoboa/extensions/sievefilters/views.py | 3 +++ modoboa/extensions/webmail/imaputils.py | 1 - 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/modoboa/extensions/sievefilters/forms.py b/modoboa/extensions/sievefilters/forms.py index 5ee3724bf..2c51841dd 100644 --- a/modoboa/extensions/sievefilters/forms.py +++ b/modoboa/extensions/sievefilters/forms.py @@ -155,7 +155,7 @@ class FilterForm(forms.Form): for fd in folders: value = fd["path"] if fd.has_key("path") else fd["name"] if parentmb: - ret += [(value, fd["name"].replace("%s." % parentmb, ""))] + ret += [(value, fd["name"].replace("%s%s" % (parentmb, imapc.hdelimiter), ""))] else: ret += [(value, fd["name"])] if fd.has_key("sub"): diff --git a/modoboa/extensions/sievefilters/static/sievefilters/js/jquery.dynfields.js b/modoboa/extensions/sievefilters/static/sievefilters/js/jquery.dynfields.js index 98112a4cc..78c17d1a2 100644 --- a/modoboa/extensions/sievefilters/static/sievefilters/js/jquery.dynfields.js +++ b/modoboa/extensions/sievefilters/static/sievefilters/js/jquery.dynfields.js @@ -178,7 +178,7 @@ value = $this.val(); while (true) { - var id = value.indexOf(".", start); + var id = value.indexOf(options.hdelimiter, start); if (id == -1) { break; } @@ -322,6 +322,7 @@ $.fn.dynaction.defaults = { defaultaction: "fileinto", + hdelimiter: '.', templates: [] }; })(jQuery); \ No newline at end of file diff --git a/modoboa/extensions/sievefilters/templates/sievefilters/index.html b/modoboa/extensions/sievefilters/templates/sievefilters/index.html index 4da8cba6e..2430cafdc 100644 --- a/modoboa/extensions/sievefilters/templates/sievefilters/index.html +++ b/modoboa/extensions/sievefilters/templates/sievefilters/index.html @@ -22,7 +22,8 @@ function filterform_cb() { templates: cond_templates }).data('dyncondition'); var $da = $("#action_0").dynaction({ - templates: action_templates + templates: action_templates, + hdelimiter: '{{ hdelimiter }}' }).data('dynaction'); $("input[name=match_type]").click(function(e) { diff --git a/modoboa/extensions/sievefilters/views.py b/modoboa/extensions/sievefilters/views.py index 7f1bdd26e..d2d8cf962 100644 --- a/modoboa/extensions/sievefilters/views.py +++ b/modoboa/extensions/sievefilters/views.py @@ -18,6 +18,8 @@ from templatetags.sfilters_tags import fset_menu @login_required @needs_mailbox() def index(request, tplname="sievefilters/index.html"): + from modoboa.extensions.webmail.imaputils import get_imapconnector + try: sc = SieveClient(user=request.user.username, password=request.session["password"]) @@ -39,6 +41,7 @@ def index(request, tplname="sievefilters/index.html"): "active_script" : active_script, "default_script" : default_script, "scripts" : sorted(scripts), + "hdelimiter": get_imapconnector(request).hdelimiter }) @login_required diff --git a/modoboa/extensions/webmail/imaputils.py b/modoboa/extensions/webmail/imaputils.py index e519e1a83..a60145200 100644 --- a/modoboa/extensions/webmail/imaputils.py +++ b/modoboa/extensions/webmail/imaputils.py @@ -412,7 +412,6 @@ class IMAPconnector(object): def _listmboxes(self, topmailbox, mailboxes, until_mailbox=None): pattern = "%s%s%%" % (topmailbox.encode("imap4-utf-7"), self.hdelimiter) \ if len(topmailbox) else "%" - print pattern resp = self._cmd("LIST", "", pattern, "RETURN", "(CHILDREN)") newmboxes = [] for mb in resp: