diff --git a/modoboa/admin/forms/domain.py b/modoboa/admin/forms/domain.py index 682acdf3a..57cd80618 100644 --- a/modoboa/admin/forms/domain.py +++ b/modoboa/admin/forms/domain.py @@ -28,7 +28,6 @@ DOMAIN_TYPES = [ class DomainFormGeneral(forms.ModelForm, DynamicForm): - """A form to create/edit a domain.""" type = forms.ChoiceField( @@ -53,7 +52,8 @@ class DomainFormGeneral(forms.ModelForm, DynamicForm): class Meta: model = Domain - fields = ("name", "type", "quota", "aliases", "enabled") + fields = ( + "name", "type", "quota", "aliases", "enabled", "enable_dns_checks") def __init__(self, *args, **kwargs): self.oldname = None diff --git a/modoboa/admin/management/commands/subcommands/_mx.py b/modoboa/admin/management/commands/subcommands/_mx.py index 0528f3e12..e559daf14 100644 --- a/modoboa/admin/management/commands/subcommands/_mx.py +++ b/modoboa/admin/management/commands/subcommands/_mx.py @@ -252,7 +252,8 @@ class CheckMXRecords(BaseCommand): except models.Domain.DoesNotExist: pass else: - domains = models.Domain.objects.filter(enabled=True) + domains = models.Domain.objects.filter( + enabled=True, enable_dns_checks=True) options.pop("domain") diff --git a/modoboa/admin/migrations/0008_domain_enable_dns_checks.py b/modoboa/admin/migrations/0008_domain_enable_dns_checks.py new file mode 100644 index 000000000..c7be468fe --- /dev/null +++ b/modoboa/admin/migrations/0008_domain_enable_dns_checks.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.12 on 2017-02-06 06:13 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('admin', '0007_auto_20161104_1915'), + ] + + operations = [ + migrations.AddField( + model_name='domain', + name='enable_dns_checks', + field=models.BooleanField(default=True, help_text='Check to enable DNS checks for this domain', verbose_name='Enable DNS checks'), + ), + ] diff --git a/modoboa/admin/models/domain.py b/modoboa/admin/models/domain.py index 290759d32..b8d09695f 100644 --- a/modoboa/admin/models/domain.py +++ b/modoboa/admin/models/domain.py @@ -50,6 +50,10 @@ class Domain(AdminObject): ) owners = GenericRelation(ObjectAccess) type = models.CharField(default="domain", max_length=20) + enable_dns_checks = models.BooleanField( + ugettext_lazy("Enable DNS checks"), default=True, + help_text=ugettext_lazy("Check to enable DNS checks for this domain") + ) objects = DomainManager() diff --git a/modoboa/admin/templates/admin/_domain_dnschecks_status.html b/modoboa/admin/templates/admin/_domain_dnschecks_status.html new file mode 100644 index 000000000..1e123a4ae --- /dev/null +++ b/modoboa/admin/templates/admin/_domain_dnschecks_status.html @@ -0,0 +1,14 @@ +{% load i18n %} + +{% if not domain.enable_dns_checks or domain.uses_a_reserved_tld %} + {% trans "Disabled" context "checks" %} +{% elif domain.awaiting_checks %} + {% trans "Awaiting checks" %} +{% else %} + {% if enable_mx_checks %} + MX + {% endif %} + {% if enable_dnsbl_checks %} + DNSBL + {% endif %} +{% endif %} diff --git a/modoboa/admin/templates/admin/domain_detail.html b/modoboa/admin/templates/admin/domain_detail.html index c3cb76215..349c9e3c4 100644 --- a/modoboa/admin/templates/admin/domain_detail.html +++ b/modoboa/admin/templates/admin/domain_detail.html @@ -24,18 +24,7 @@ {% if enable_mx_checks or enable_dnsbl_checks %}