Merge branch 'ms/3494-FEB-reports' into cb/3212-subissues

This commit is contained in:
matthewswspence 2025-03-25 11:57:54 -05:00
commit e2f6437c4b
No known key found for this signature in database
GPG key ID: FB458202A7852BA4
2 changed files with 39 additions and 0 deletions

View file

@ -59,6 +59,16 @@ class DomainRequest(TimeStampedModel):
REDIRECT = "redirect"
OTHER = "other"
@classmethod
def get_purpose_label(cls, purpose_name: str):
"""Returns the associated label for a given purpose name"""
if purpose_name == cls.WEBSITE:
return "Used for a new website"
elif purpose_name == cls.REDIRECT:
return "Used as a redirect for an existing website"
else:
return "Not for a website"
class StateTerritoryChoices(models.TextChoices):
ALABAMA = "AL", "Alabama (AL)"
ALASKA = "AK", "Alaska (AK)"

View file

@ -1839,6 +1839,16 @@ class DomainRequestExport(BaseExport):
details = [cisa_rep, model.get("anything_else")]
additional_details = " | ".join([field for field in details if field])
# FEB fields
purpose_type = model.get("feb_purpose_choice")
purpose_type_display = DomainRequest.FEBPurposeChoices.get_purpose_label(purpose_type) if purpose_type else "N/A"
eop_stakeholder_first_name = model.get("eop_stakeholder_first_name")
eop_stakeholder_last_name = model.get("eop_stakeholder_last_name")
if not eop_stakeholder_first_name or not eop_stakeholder_last_name:
eop_stakeholder_name = None
else:
eop_stakeholder_name = f"{eop_stakeholder_first_name} {eop_stakeholder_last_name}"
# create a dictionary of fields which can be included in output.
# "extra_fields" are precomputed fields (generated in the DB or parsed).
FIELDS = {
@ -1880,6 +1890,13 @@ class DomainRequestExport(BaseExport):
"Last submitted date": model.get("last_submitted_date"),
"First submitted date": model.get("first_submitted_date"),
"Last status update": model.get("last_status_update"),
# FEB only fields
"Purpose": purpose_type_display,
"Domain name rationale": model.get("feb_naming_requirements_details", None),
"Target time frame": model.get("time_frame_details", None),
"Interagency initiative": model.get("interagency_initiative_details", None),
"EOP stakeholder name": eop_stakeholder_name,
"EOP stakeholder email": model.get("eop_stakeholder_email", None),
}
row = [FIELDS.get(column, "") for column in columns]
@ -1925,6 +1942,12 @@ class DomainRequestDataType(DomainRequestExport):
"Last submitted date",
"First submitted date",
"Last status update",
"Purpose",
"Domain name rationale",
"Target time frame",
"Interagency initiative",
"EOP stakeholder name",
"EOP stakeholder email",
]
@classmethod
@ -2069,6 +2092,12 @@ class DomainRequestDataFull(DomainRequestExport):
"CISA regional representative",
"Current websites",
"Investigator",
"Purpose",
"Domain name rationale",
"Target time frame",
"Interagency initiative",
"EOP stakeholder name",
"EOP stakeholder email",
]
@classmethod