Added last DNS checks execution date to Domain model.

This commit is contained in:
Antoine Nguyen
2026-02-23 15:46:02 +01:00
parent abb72fb289
commit 2815310c01
6 changed files with 31 additions and 0 deletions
@@ -10,6 +10,13 @@
density="compact"
@click="showConfigHelp = true"
></v-btn>
<span
v-if="domain.last_dns_check_execution"
class="ml-2 text-body-2 font-italic text-grey"
>
({{ $gettext('Last check:') }}
{{ $date(domain.last_dns_check_execution) }})
</span>
</v-card-title>
<v-card-text>
<translate class="overline">MX records</translate>
+1
View File
@@ -63,6 +63,7 @@ class DomainSerializer(v1_serializers.DomainSerializer):
"opened_alarms_count",
"sent_messages",
"sent_messages_in_percent",
"last_dns_check_execution",
)
def __init__(self, *args, **kwargs):
+2
View File
@@ -72,6 +72,8 @@ def handle_mailbox_operations():
def launch_domain_dns_checks(domain_id: int):
domain = models.Domain.objects.get(id=domain_id)
DNSChecker().run(domain)
domain.last_dns_check_execution = timezone.now()
domain.save()
def handle_dns_checks():
@@ -0,0 +1,18 @@
# Generated by Django 5.2.11 on 2026-02-23 14:31
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("admin", "0023_auto_20240320_1037"),
]
operations = [
migrations.AddField(
model_name="domain",
name="last_dns_check_execution",
field=models.DateTimeField(blank=True, null=True),
),
]
+1
View File
@@ -55,6 +55,7 @@ class Domain(mixins.MessageLimitMixin, AdminObject):
default=True,
help_text=gettext_lazy("Check to enable DNS checks for this domain"),
)
last_dns_check_execution = models.DateTimeField(null=True, blank=True)
transport = models.OneToOneField(
"transport.Transport", null=True, on_delete=models.SET_NULL
+2
View File
@@ -242,7 +242,9 @@ class DNSBLTestCase(ModoTestCase):
worker = SimpleWorker([queue], connection=queue.connection)
worker.work(burst=True)
self.domain.refresh_from_db()
self.assertTrue(models.DNSBLResult.objects.filter(domain=self.domain).exists())
self.assertIsNot(self.domain.last_dns_check_execution, None)
self.assertFalse(
models.DNSBLResult.objects.filter(domain=self.domain3).exists()
)