From f8f07a40664060aafa17d18bfd9e7bac2a678294 Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Mon, 8 Apr 2013 09:51:35 +0200 Subject: [PATCH] Adapting messages to running configuration. see #389 --- modoboa/admin/lib.py | 11 +++++++---- modoboa/admin/static/admin/js/admin.js | 14 ++++++++++++-- modoboa/admin/views.py | 15 ++++++++------- 3 files changed, 27 insertions(+), 13 deletions(-) diff --git a/modoboa/admin/lib.py b/modoboa/admin/lib.py index 96037cb48..79699730a 100644 --- a/modoboa/admin/lib.py +++ b/modoboa/admin/lib.py @@ -37,7 +37,10 @@ def render_listing(request, objtype, **kwargs): page = paginator.page(paginator.num_pages) return ajax_simple_response({ - "table" : tblclass(request, page.object_list).render(), - "page" : page.number, - "paginbar" : pagination_bar(page) - }) + "table" : tblclass(request, page.object_list).render(), + "page" : page.number, + "paginbar" : pagination_bar(page), + "handle_mailboxes": parameters.get_admin("HANDLE_MAILBOXES", + raise_error=False), + "auto_account_removal": parameters.get_admin("AUTO_ACCOUNT_REMOVAL") + }) diff --git a/modoboa/admin/static/admin/js/admin.js b/modoboa/admin/static/admin/js/admin.js index 5167cd682..859de7edf 100644 --- a/modoboa/admin/static/admin/js/admin.js +++ b/modoboa/admin/static/admin/js/admin.js @@ -119,11 +119,17 @@ var Domains = function(options) { Domains.prototype = { list_cb: function(data) { Admin.prototype.list_cb.call(this, data); + var deloptions = (data.handle_mailboxes) + ? {keepdir: gettext("Do not delete domain directory")} + : {}; + var warnmsg = (data.auto_account_removal) + ? gettext("This operation will remove ALL data associated to this domain.") + : gettext("This operation will remove all data associated to this domain, excepting accounts."); $("a[name=deldomain]").confirm({ question: gettext("Delete this domain?"), warning: gettext("This operation will remove ALL data associated to this domain."), - checkboxes: {keepdir: gettext("Do not delete domain directory")}, + checkboxes: deloptions, success_cb: $.proxy(this.reload_listing, this) }); }, @@ -181,12 +187,16 @@ Identities.prototype = { list_cb: function(data) { Admin.prototype.list_cb.call(this, data); + var deloptions = {}; + if (data.handle_mailboxes) { + deloptions["checkboxes"] = {keepdir: gettext("Do not delete mailbox directory")}; + } $("a.filter").click($.proxy(this.filter_by_tag, this)); $("a[name=delaccount]").confirm({ question: gettext("Delete this account?"), - checkboxes: {keepdir: gettext("Do not delete mailbox directory")}, + checkboxes: deloptions, success_cb: $.proxy(this.reload_listing, this) }); $("a[name=deldlist]").confirm({ diff --git a/modoboa/admin/views.py b/modoboa/admin/views.py index 09cb02d4c..84f9ac32e 100644 --- a/modoboa/admin/views.py +++ b/modoboa/admin/views.py @@ -310,13 +310,14 @@ def _identities(request): page = paginator.page(paginator.num_pages) return ajax_simple_response({ - "table" : _render_to_string(request, "admin/identities_table.html", { - "identities" : page.object_list, - "tableid" : "objects_table" - }), - "page" : page.number, - "paginbar" : pagination_bar(page) - }) + "table" : _render_to_string(request, "admin/identities_table.html", { + "identities" : page.object_list, + "tableid" : "objects_table" + }), + "handle_mailboxes": parameters.get_admin("HANDLE_MAILBOXES", raise_error=False), + "page" : page.number, + "paginbar" : pagination_bar(page) + }) @login_required @user_passes_test(lambda u: u.has_perm("auth.add_user") or u.has_perm("admin.add_alias"))