diff --git a/src/registrar/models/domain.py b/src/registrar/models/domain.py index 1a581a4ec..6d8df525f 100644 --- a/src/registrar/models/domain.py +++ b/src/registrar/models/domain.py @@ -12,6 +12,7 @@ from django.utils import timezone from typing import Any from registrar.models.host import Host from registrar.models.host_ip import HostIP +from registrar.utility.enums import DefaultEmail from registrar.utility.errors import ( ActionNotAllowed, @@ -1400,7 +1401,9 @@ class Domain(TimeStampedModel, DomainHelper): is_security = contact.contact_type == contact.ContactTypeChoices.SECURITY DF = epp.DiscloseField fields = {DF.EMAIL} - disclose = is_security and contact.email != PublicContact.get_default_security().email + + hidden_security_emails = [DefaultEmail.PUBLIC_CONTACT_DEFAULT, DefaultEmail.LEGACY_DEFAULT] + disclose = is_security and contact.email not in hidden_security_emails # Delete after testing on other devices logger.info("Updated domain contact %s to disclose: %s", contact.email, disclose) # Will only disclose DF.EMAIL if its not the default diff --git a/src/registrar/models/public_contact.py b/src/registrar/models/public_contact.py index c49a66260..a7f3703a9 100644 --- a/src/registrar/models/public_contact.py +++ b/src/registrar/models/public_contact.py @@ -4,6 +4,8 @@ from string import ascii_uppercase, ascii_lowercase, digits from django.db import models +from registrar.utility.enums import DefaultEmail + from .utility.time_stamped_model import TimeStampedModel @@ -87,7 +89,7 @@ class PublicContact(TimeStampedModel): sp="VA", pc="20598-0645", cc="US", - email="dotgov@cisa.dhs.gov", + email=DefaultEmail.PUBLIC_CONTACT_DEFAULT, voice="+1.8882820870", pw="thisisnotapassword", ) @@ -104,7 +106,7 @@ class PublicContact(TimeStampedModel): sp="VA", pc="22201", cc="US", - email="dotgov@cisa.dhs.gov", + email=DefaultEmail.PUBLIC_CONTACT_DEFAULT, voice="+1.8882820870", pw="thisisnotapassword", ) @@ -121,7 +123,7 @@ class PublicContact(TimeStampedModel): sp="VA", pc="22201", cc="US", - email="dotgov@cisa.dhs.gov", + email=DefaultEmail.PUBLIC_CONTACT_DEFAULT, voice="+1.8882820870", pw="thisisnotapassword", ) @@ -138,7 +140,7 @@ class PublicContact(TimeStampedModel): sp="VA", pc="22201", cc="US", - email="dotgov@cisa.dhs.gov", + email=DefaultEmail.PUBLIC_CONTACT_DEFAULT, voice="+1.8882820870", pw="thisisnotapassword", ) diff --git a/src/registrar/utility/csv_export.py b/src/registrar/utility/csv_export.py index 3924c03c4..a6da9eea3 100644 --- a/src/registrar/utility/csv_export.py +++ b/src/registrar/utility/csv_export.py @@ -8,6 +8,8 @@ from django.db.models import Value from django.db.models.functions import Coalesce from django.utils import timezone +from registrar.utility.enums import DefaultEmail + logger = logging.getLogger(__name__) @@ -38,7 +40,7 @@ def write_row(writer, columns, domain_info): if security_contacts: security_email = security_contacts[0].email - invalid_emails = {"registrar@dotgov.gov", "dotgov@cisa.dhs.gov"} + invalid_emails = {DefaultEmail.LEGACY_DEFAULT, DefaultEmail.PUBLIC_CONTACT_DEFAULT} # These are default emails that should not be displayed in the csv report if security_email is not None and security_email.lower() in invalid_emails: security_email = "(blank)" diff --git a/src/registrar/utility/enums.py b/src/registrar/utility/enums.py index 51f6523c5..7f99fb932 100644 --- a/src/registrar/utility/enums.py +++ b/src/registrar/utility/enums.py @@ -26,3 +26,15 @@ class LogCode(Enum): INFO = 3 DEBUG = 4 DEFAULT = 5 + + +class DefaultEmail(Enum): + """Stores the string values of default emails + + Overview of emails: + - PUBLIC_CONTACT_DEFAULT: "dotgov@cisa.dhs.gov" + - LEGACY_DEFAULT: "registrar@dotgov.gov" + """ + + PUBLIC_CONTACT_DEFAULT = "dotgov@cisa.dhs.gov" + LEGACY_DEFAULT = "registrar@dotgov.gov" diff --git a/src/registrar/views/domain.py b/src/registrar/views/domain.py index 08db99e47..024045f58 100644 --- a/src/registrar/views/domain.py +++ b/src/registrar/views/domain.py @@ -22,6 +22,7 @@ from registrar.models import ( UserDomainRole, ) from registrar.models.public_contact import PublicContact +from registrar.utility.enums import DefaultEmail from registrar.utility.errors import ( GenericError, GenericErrorCodes, @@ -569,7 +570,7 @@ class DomainSecurityEmailView(DomainFormBaseView): initial = super().get_initial() security_contact = self.object.security_contact - invalid_emails = ["dotgov@cisa.dhs.gov", "registrar@dotgov.gov"] + invalid_emails = [DefaultEmail.PUBLIC_CONTACT_DEFAULT, DefaultEmail.LEGACY_DEFAULT] if security_contact is None or security_contact.email in invalid_emails: initial["security_email"] = None return initial