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" REDIRECT = "redirect"
OTHER = "other" 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): class StateTerritoryChoices(models.TextChoices):
ALABAMA = "AL", "Alabama (AL)" ALABAMA = "AL", "Alabama (AL)"
ALASKA = "AK", "Alaska (AK)" ALASKA = "AK", "Alaska (AK)"

View file

@ -1839,6 +1839,16 @@ class DomainRequestExport(BaseExport):
details = [cisa_rep, model.get("anything_else")] details = [cisa_rep, model.get("anything_else")]
additional_details = " | ".join([field for field in details if field]) 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. # create a dictionary of fields which can be included in output.
# "extra_fields" are precomputed fields (generated in the DB or parsed). # "extra_fields" are precomputed fields (generated in the DB or parsed).
FIELDS = { FIELDS = {
@ -1880,6 +1890,13 @@ class DomainRequestExport(BaseExport):
"Last submitted date": model.get("last_submitted_date"), "Last submitted date": model.get("last_submitted_date"),
"First submitted date": model.get("first_submitted_date"), "First submitted date": model.get("first_submitted_date"),
"Last status update": model.get("last_status_update"), "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] row = [FIELDS.get(column, "") for column in columns]
@ -1925,6 +1942,12 @@ class DomainRequestDataType(DomainRequestExport):
"Last submitted date", "Last submitted date",
"First submitted date", "First submitted date",
"Last status update", "Last status update",
"Purpose",
"Domain name rationale",
"Target time frame",
"Interagency initiative",
"EOP stakeholder name",
"EOP stakeholder email",
] ]
@classmethod @classmethod
@ -2069,6 +2092,12 @@ class DomainRequestDataFull(DomainRequestExport):
"CISA regional representative", "CISA regional representative",
"Current websites", "Current websites",
"Investigator", "Investigator",
"Purpose",
"Domain name rationale",
"Target time frame",
"Interagency initiative",
"EOP stakeholder name",
"EOP stakeholder email",
] ]
@classmethod @classmethod