diff --git a/extensions/webmail/lib.py b/extensions/webmail/lib.py index 8cbb4d495..c5353aacd 100644 --- a/extensions/webmail/lib.py +++ b/extensions/webmail/lib.py @@ -216,10 +216,16 @@ class IMAPconnector(object): if not len(parts): return False path = "%s%s%s" % (prefix, delimiter, parts[0]) - sdescr = {"name" : parts[0], "path" : path, "sub" : []} + sdescr = None + for d in descr: + if d["path"] == path: + sdescr = d + break + if sdescr is None: + sdescr = {"name" : parts[0], "path" : path, "sub" : []} + descr += [sdescr] if self._parse_folder_name(sdescr["sub"], path, delimiter, parts[1:]): sdescr["class"] = "subfolders" - descr += [sdescr] return True def _listfolders(self, topfolder='INBOX', md_folders=[]): diff --git a/extensions/webmail/templatetags/webextras.py b/extensions/webmail/templatetags/webextras.py index cbeb5bcba..782760d43 100644 --- a/extensions/webmail/templatetags/webextras.py +++ b/extensions/webmail/templatetags/webextras.py @@ -146,8 +146,7 @@ def print_folders(folders, selected=None, withunseen=False, withmenu=False): cssclass = "unseen" result += "%s\n" \ % (fd.has_key("path") and fd["path"] or fd["name"], cssclass, label) - if fd.has_key("sub"): - result += "\n" + if fd.has_key("sub") and len(fd["sub"]): + result += "\n" result += "\n" return result