Display domain DNSBL issues when necessary

This commit is contained in:
Antoine Nguyen
2025-08-19 10:25:25 +02:00
parent b2b3e824f7
commit cbd00f67ef
4 changed files with 85 additions and 16 deletions
+4
View File
@@ -71,6 +71,10 @@ class MXRecord(models.Model):
def __str__(self):
return f"{self.name} ({self.address}) for {self.domain} "
@property
def active_dnsbl_results(self):
return self.dnsblresult_set.exclude(status="")
class DNSBLQuerySet(models.QuerySet):
"""Custom manager for DNSBLResultManager."""
+11 -13
View File
@@ -7,22 +7,22 @@ from modoboa.admin import models as admin_models
from ... import models
class MXRecordSerializer(serializers.ModelSerializer):
"""Serializer for MXRecord."""
class Meta:
model = admin_models.MXRecord
fields = ("name", "address", "updated")
class DNSBLResultSerializer(serializers.ModelSerializer):
"""Serializer for DNSBLResult."""
mx = MXRecordSerializer()
class Meta:
model = admin_models.DNSBLResult
fields = ("provider", "mx", "status")
fields = ("provider", "status")
class MXRecordSerializer(serializers.ModelSerializer):
"""Serializer for MXRecord."""
dnsbl_results = DNSBLResultSerializer(many=True, source="active_dnsbl_results")
class Meta:
model = admin_models.MXRecord
fields = ("name", "address", "dnsbl_results", "updated")
class DNSRecordSerializer(serializers.ModelSerializer):
@@ -41,13 +41,11 @@ class DNSDetailSerializer(serializers.ModelSerializer):
spf_record = DNSRecordSerializer()
dkim_record = DNSRecordSerializer()
dmarc_record = DNSRecordSerializer()
dnsbl_results = DNSBLResultSerializer(many=True, source="dnsblresult_set")
class Meta:
model = admin_models.Domain
fields = (
"mx_records",
"dnsbl_results",
"autoconfig_record",
"autodiscover_record",
"spf_record",