initial work on feb purpose questions

This commit is contained in:
Matt-Spence 2025-02-26 11:46:35 -05:00
parent b2c57b5aa1
commit df303fa66f
No known key found for this signature in database
6 changed files with 341 additions and 36 deletions

View file

@ -53,6 +53,11 @@ class DomainRequest(TimeStampedModel):
def get_status_label(cls, status_name: str):
"""Returns the associated label for a given status name"""
return cls(status_name).label if status_name else None
class FEBPurposeChoices(models.TextChoices):
WEBSITE = "website"
REDIRECT = "redirect"
OTHER = "other"
class StateTerritoryChoices(models.TextChoices):
ALABAMA = "AL", "Alabama (AL)"
@ -501,6 +506,7 @@ class DomainRequest(TimeStampedModel):
on_delete=models.PROTECT,
)
# Fields specific to Federal Executive Branch agencies, used by OMB for reviewing requests
feb_naming_requirements = models.BooleanField(
null=True,
blank=True,
@ -511,6 +517,40 @@ class DomainRequest(TimeStampedModel):
blank=True,
)
feb_purpose_choice = models.CharField(
null=True,
blank=True,
choices=FEBPurposeChoices.choices,
)
# This field is alternately used for generic domain purpose explanations
# and for explanations of the specific purpose chosen with feb_purpose_choice
# by a Federal Executive Branch agency.
purpose = models.TextField(
null=True,
blank=True,
)
has_timeframe = models.BooleanField(
null=True,
blank=True,
)
time_frame_details = models.TextField(
null=True,
blank=True,
)
is_interagency_initiative = models.BooleanField(
null=True,
blank=True,
)
interagency_initiative_details = models.TextField(
null=True,
blank=True,
)
alternative_domains = models.ManyToManyField(
"registrar.Website",
blank=True,
@ -518,10 +558,7 @@ class DomainRequest(TimeStampedModel):
help_text="Other domain names the creator provided for consideration",
)
purpose = models.TextField(
null=True,
blank=True,
)
other_contacts = models.ManyToManyField(
"registrar.Contact",