From 397dda7adb124f6d3ec85c0c6c327dddc6fa353d Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Fri, 16 Sep 2016 11:23:22 +0200 Subject: [PATCH] Few fixes. --- modoboa/admin/app_settings.py | 4 +++- modoboa/admin/models/domain.py | 5 ++--- .../admin/templates/admin/domain_detail.html | 16 +++++++++++----- modoboa/admin/templates/admin/domains.html | 12 +++++++----- .../admin/templates/admin/domains_table.html | 18 ++++++++++++------ modoboa/admin/views/domain.py | 19 +++++++++++++++---- 6 files changed, 50 insertions(+), 24 deletions(-) diff --git a/modoboa/admin/app_settings.py b/modoboa/admin/app_settings.py index bbfe2317a..922ac3731 100644 --- a/modoboa/admin/app_settings.py +++ b/modoboa/admin/app_settings.py @@ -69,7 +69,8 @@ class AdminParametersForm(parameters.AdminParametersForm): "of the MX that should match with domains' MX records. " "On per line." ), - widget=forms.Textarea + widget=forms.Textarea, + required=False ) enable_dnsbl_checks = YesNoField( @@ -126,6 +127,7 @@ class AdminParametersForm(parameters.AdminParametersForm): # Visibility rules visibility_rules = { + "valid_mxs": "enable_mx_checks=yes", "mailboxes_owner": "handle_mailboxes=yes", } diff --git a/modoboa/admin/models/domain.py b/modoboa/admin/models/domain.py index f38dd5977..d90b00099 100644 --- a/modoboa/admin/models/domain.py +++ b/modoboa/admin/models/domain.py @@ -229,9 +229,8 @@ class MXQuerySet(models.QuerySet): def has_valids(self): """Return managed results.""" - if parameters.get_admin("ENABLE_MX_CHECKS"): - if parameters.get_admin("VALID_MXS", app="admin").strip(): - return self.filter(managed=True).exists() + if parameters.get_admin("VALID_MXS", app="admin").strip(): + return self.filter(managed=True).exists() return self.exists() diff --git a/modoboa/admin/templates/admin/domain_detail.html b/modoboa/admin/templates/admin/domain_detail.html index 20bd70225..ab79891ad 100644 --- a/modoboa/admin/templates/admin/domain_detail.html +++ b/modoboa/admin/templates/admin/domain_detail.html @@ -21,11 +21,17 @@

{% trans "Summary" %}

-
- {% trans "DNS status" %} - MX - DNSBL -
+ {% if enable_mx_checks == "yes" or enable_dnsbl_checks == "yes" %} +
+ {% trans "DNS status" %} + {% if enable_mx_checks == "yes" %} + MX + {% endif %} + {% if enable_dnsbl_checks == "yes" %} + DNSBL + {% endif %} +
+ {% endif %}
{% trans "Creation date" %}{{ domain.creation }}
diff --git a/modoboa/admin/templates/admin/domains.html b/modoboa/admin/templates/admin/domains.html index b6b6a30ea..08440de2f 100644 --- a/modoboa/admin/templates/admin/domains.html +++ b/modoboa/admin/templates/admin/domains.html @@ -31,9 +31,11 @@ $(document).ready(function() { {% block actions %}{% domains_menu "domains" user %}{% endblock %} {% block table_header %} -{% trans "Name" %} -{% trans "Alias(es)" %} -{% trans "Tags" %} -{% trans "DNS status" %} -{% trans "Actions" %} + {% trans "Name" %} + {% trans "Alias(es)" %} + {% trans "Tags" %} + {% if enable_mx_checks == "yes" or enable_dnsbl_checks == "yes" %} + {% trans "DNS status" %} + {% endif %} + {% trans "Actions" %} {% endblock %} diff --git a/modoboa/admin/templates/admin/domains_table.html b/modoboa/admin/templates/admin/domains_table.html index 34204e3bb..da4587af4 100644 --- a/modoboa/admin/templates/admin/domains_table.html +++ b/modoboa/admin/templates/admin/domains_table.html @@ -5,12 +5,18 @@ {{ domain }}{% if not domain.enabled %} ({% trans "disabled" %}){% endif %} {% domain_aliases domain %} {% render_tags domain.tags %} - - - MX - DNSBL - - + {% if enable_mx_checks == "yes" or enable_dnsbl_checks == "yes" %} + + + {% if enable_mx_checks == "yes" %} + MX + {% endif %} + {% if enable_dnsbl_checks == "yes" %} + DNSBL + {% endif %} + + + {% endif %} {% domain_actions user domain %} {% endfor %} diff --git a/modoboa/admin/views/domain.py b/modoboa/admin/views/domain.py index 4bc5039cf..fb0266509 100644 --- a/modoboa/admin/views/domain.py +++ b/modoboa/admin/views/domain.py @@ -63,7 +63,7 @@ def _domains(request): context = { "handle_mailboxes": parameters.get_admin( "HANDLE_MAILBOXES", raise_error=False), - "auto_account_removal": parameters.get_admin("AUTO_ACCOUNT_REMOVAL") + "auto_account_removal": parameters.get_admin("AUTO_ACCOUNT_REMOVAL"), } page = get_listing_page(domainlist, request.GET.get("page", 1)) if page is None: @@ -71,7 +71,10 @@ def _domains(request): else: context["rows"] = _render_to_string( request, "admin/domains_table.html", { - 'domains': page.object_list, + "domains": page.object_list, + "enable_mx_checks": parameters.get_admin("ENABLE_MX_CHECKS"), + "enable_dnsbl_checks": ( + parameters.get_admin("ENABLE_DNSBL_CHECKS")), } ) context["pages"] = [page.number] @@ -87,7 +90,11 @@ def domains(request, tplname="admin/domains.html"): reverse("admin:identity_list") ) return HttpResponseRedirect(reverse("core:user_index")) - return render(request, tplname, {"selection": "domains"}) + return render(request, tplname, { + "selection": "domains", + "enable_mx_checks": parameters.get_admin("ENABLE_MX_CHECKS"), + "enable_dnsbl_checks": parameters.get_admin("ENABLE_DNSBL_CHECKS") + }) @login_required @@ -176,7 +183,11 @@ class DomainDetailView( context = super(DomainDetailView, self).get_context_data(**kwargs) result = signals.extra_domain_dashboard_widgets.send( self.__class__, user=self.request.user, domain=self.object) - context["templates"] = {"left": [], "right": []} + context.update({ + "templates": {"left": [], "right": []}, + "enable_mx_checks": parameters.get_admin("ENABLE_MX_CHECKS"), + "enable_dnsbl_checks": parameters.get_admin("ENABLE_DNSBL_CHECKS"), + }) for receiver, widgets in result: for widget in widgets: context["templates"][widget["column"]].append(