mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-18 05:51:26 +02:00
take care of creation date while showing DNS status
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
"""Django signal handlers for admin."""
|
||||
|
||||
from django.core import management
|
||||
from django.db.models import signals
|
||||
from django.dispatch import receiver
|
||||
|
||||
@@ -11,11 +10,6 @@ from . import models
|
||||
def update_domain_mxs_and_mailboxes(sender, instance, **kwargs):
|
||||
"""Update associated MXs and mailboxes."""
|
||||
if kwargs.get("created"):
|
||||
management.call_command(
|
||||
'modo', 'check_mx',
|
||||
domain=[instance],
|
||||
skip_admin_emails=True,
|
||||
)
|
||||
return
|
||||
instance.mailbox_set.filter(use_domain_quota=True).update(
|
||||
quota=instance.quota)
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
"""Models related to domains management."""
|
||||
|
||||
import datetime
|
||||
|
||||
from django.db import models
|
||||
from django.db.models.manager import Manager
|
||||
from django.utils import timezone
|
||||
from django.utils.encoding import python_2_unicode_compatible, smart_text
|
||||
from django.utils.functional import cached_property
|
||||
from django.utils.translation import ugettext as _, ugettext_lazy
|
||||
@@ -103,8 +106,18 @@ class Domain(AdminObject):
|
||||
return self.domainalias_set
|
||||
|
||||
@property
|
||||
def mx_records(self):
|
||||
self.mxrecord_set
|
||||
def just_created(self):
|
||||
"""return true if the domain was created in the latest 24h"""
|
||||
now = timezone.now()
|
||||
delta = datetime.timedelta(days=1)
|
||||
return bool(self.creation + delta > now)
|
||||
|
||||
def awaiting_checks(self):
|
||||
"""return true if the domain has no valid MX records and was created
|
||||
in the latest 24h"""
|
||||
if (not self.mxrecord_set.has_valids()) and self.just_created:
|
||||
return True
|
||||
return False
|
||||
|
||||
@cached_property
|
||||
def dnsbl_status_color(self):
|
||||
|
||||
@@ -24,11 +24,15 @@
|
||||
{% if enable_mx_checks == "yes" or enable_dnsbl_checks == "yes" %}
|
||||
<div class="row">
|
||||
<span class="title">{% trans "DNS status" %}</span>
|
||||
{% if enable_mx_checks == "yes" %}
|
||||
<span class="label label-mini label-{% if not domain.mxrecord_set.has_valids %}danger{% else %}success{% endif %}"><a href="{% url 'admin:mx_domain_detail' domain.pk %}" data-toggle="ajaxmodal">MX</a></span>
|
||||
{% endif %}
|
||||
{% if enable_dnsbl_checks == "yes" %}
|
||||
<span class="label label-{{ domain.dnsbl_status_color }}"><a href="{% url 'admin:dnsbl_domain_detail' domain.pk %}" data-toggle="ajaxmodal">DNSBL</a></span>
|
||||
{% if domain.awaiting_checks %}
|
||||
<span class="label label-mini label-info">{% trans "Awaiting checks" %}</span>
|
||||
{% else %}
|
||||
{% if enable_mx_checks == "yes" %}
|
||||
<span class="label label-mini label-{% if not domain.mxrecord_set.has_valids %}danger{% else %}success{% endif %}"><a href="{% url 'admin:mx_domain_detail' domain.pk %}" data-toggle="ajaxmodal">MX</a></span>
|
||||
{% endif %}
|
||||
{% if enable_dnsbl_checks == "yes" %}
|
||||
<span class="label label-mini label-{{ domain.dnsbl_status_color }}"><a href="{% url 'admin:dnsbl_domain_detail' domain.pk %}" data-toggle="ajaxmodal">DNSBL</a></span>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
@@ -8,11 +8,15 @@
|
||||
{% if enable_mx_checks == "yes" or enable_dnsbl_checks == "yes" %}
|
||||
<td name="dns">
|
||||
<small>
|
||||
{% if enable_mx_checks == "yes" %}
|
||||
<span class="label label-mini label-{% if not domain.mxrecord_set.has_valids %}danger{% else %}success{% endif %}"><a href="{% url 'admin:mx_domain_detail' domain.pk %}" data-toggle="ajaxmodal">MX</a></span>
|
||||
{% endif %}
|
||||
{% if enable_dnsbl_checks == "yes" %}
|
||||
<span class="label label-mini label-{{ domain.dnsbl_status_color }}"><a href="{% url 'admin:dnsbl_domain_detail' domain.pk %}" data-toggle="ajaxmodal">DNSBL</a></span>
|
||||
{% if domain.awaiting_checks %}
|
||||
<span class="label label-mini label-info">{% trans "awaiting checks" %}</span>
|
||||
{% else %}
|
||||
{% if enable_mx_checks == "yes" %}
|
||||
<span class="label label-mini label-{% if not domain.mxrecord_set.has_valids %}danger{% else %}success{% endif %}"><a href="{% url 'admin:mx_domain_detail' domain.pk %}" data-toggle="ajaxmodal">MX</a></span>
|
||||
{% endif %}
|
||||
{% if enable_dnsbl_checks == "yes" %}
|
||||
<span class="label label-mini label-{{ domain.dnsbl_status_color }}"><a href="{% url 'admin:dnsbl_domain_detail' domain.pk %}" data-toggle="ajaxmodal">DNSBL</a></span>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</small>
|
||||
</td>
|
||||
|
||||
Reference in New Issue
Block a user