take care of creation date while showing DNS status

This commit is contained in:
Gael Pasgrimaud
2016-09-19 15:37:37 +02:00
parent 9d4d515bfb
commit e0f2f34523
4 changed files with 33 additions and 18 deletions
-6
View File
@@ -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)
+15 -2
View File
@@ -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>