def index(request, tplname="sievefilters/index.html"): from modoboa.extensions.webmail.lib import get_imapconnector try: sc = SieveClient(user=request.user.username, password=request.session["password"]) except ConnectionError as e: return _render_error(request, user_context={"error": e}) try: active_script, scripts = sc.listscripts() except Error as e: return _render_error(request, user_context={"error": e}) if active_script is None: active_script = "" default_script = "%s/" % scripts[0] if len(scripts) else "" else: default_script = "%s/" % active_script return render(request, tplname, { "selection": "user", "active_script": active_script, "default_script": default_script, "scripts": sorted(scripts), "hdelimiter": get_imapconnector(request).hdelimiter })
def userfolders(self, request): from modoboa.extensions.webmail.lib import get_imapconnector mbc = get_imapconnector(request) ret = mbc.getmboxes(request.user, unseen_messages=False) folders = self.__build_folders_list(ret, request.user, mbc) return folders
active_script, scripts = sc.listscripts() except Error, e: return _render_error(request, user_context={"error": e}) if active_script is None: active_script = "" default_script = "%s/" % scripts[0] if len(scripts) else "" else: default_script = "%s/" % active_script return render( request, tplname, { "selection": "user", "active_script": active_script, "default_script": default_script, "scripts": sorted(scripts), "hdelimiter": get_imapconnector(request).hdelimiter }) @login_required @needs_mailbox() def get_templates(request, ftype): if ftype == "condition": return render_to_json_response( FilterForm([], [], request).cond_templates) return render_to_json_response( FilterForm([], [], request).action_templates) @login_required @needs_mailbox()