From 26947d4bd2529f8d59b8d831d8c215d093aeafeb Mon Sep 17 00:00:00 2001 From: Rachid Mrad Date: Fri, 27 Oct 2023 12:50:30 -0400 Subject: [PATCH] filter by READY, edge case handling --- .../django/admin/domain_change_list.html | 14 ++++---- src/registrar/utility/csv_export.py | 33 +++++++++++++------ 2 files changed, 30 insertions(+), 17 deletions(-) diff --git a/src/registrar/templates/django/admin/domain_change_list.html b/src/registrar/templates/django/admin/domain_change_list.html index 45626c55b..b99f71e2f 100644 --- a/src/registrar/templates/django/admin/domain_change_list.html +++ b/src/registrar/templates/django/admin/domain_change_list.html @@ -3,13 +3,6 @@ {% block object-tools %} {% endblock %} \ No newline at end of file diff --git a/src/registrar/utility/csv_export.py b/src/registrar/utility/csv_export.py index fbb2325ff..146cc9ce3 100644 --- a/src/registrar/utility/csv_export.py +++ b/src/registrar/utility/csv_export.py @@ -1,4 +1,5 @@ import csv +from registrar.models.domain import Domain from registrar.models.domain_information import DomainInformation from registrar.models.public_contact import PublicContact @@ -25,16 +26,28 @@ def export_domains_to_writer(writer, columns, sort_fields, filter_condition): "State": domainInfo.state_territory, "AO": domainInfo.authorizing_official.first_name + " " - + domainInfo.authorizing_official.last_name, - "AO email": domainInfo.authorizing_official.email, + + domainInfo.authorizing_official.last_name + if domainInfo.authorizing_official + else " ", + "AO email": domainInfo.authorizing_official.email + if domainInfo.authorizing_official + else " ", "Submitter": domainInfo.submitter.first_name + " " - + domainInfo.submitter.last_name, - "Submitter title": domainInfo.submitter.title, - "Submitter email": domainInfo.submitter.email, - "Submitter phone": domainInfo.submitter.phone, + + domainInfo.submitter.last_name + if domainInfo.submitter + else " ", + "Submitter title": domainInfo.submitter.title + if domainInfo.submitter + else " ", + "Submitter email": domainInfo.submitter.email + if domainInfo.submitter + else " ", + "Submitter phone": domainInfo.submitter.phone + if domainInfo.submitter + else " ", "Security Contact Email": security_contacts[0].email - if security_contacts.exists() + if security_contacts else " ", "Status": domainInfo.domain.state, } @@ -62,7 +75,7 @@ def export_data_type_to_csv(csv_file): # 'Expiration Date' ] sort_fields = ["domain__name"] - filter_condition = {} + filter_condition = {"domain__state": Domain.State.READY} export_domains_to_writer(writer, columns, sort_fields, filter_condition) @@ -79,7 +92,7 @@ def export_data_full_to_csv(csv_file): "Security Contact Email", ] sort_fields = ["domain__name", "federal_agency", "organization_type"] - filter_condition = {} + filter_condition = {"domain__state": Domain.State.READY} export_domains_to_writer(writer, columns, sort_fields, filter_condition) @@ -96,5 +109,5 @@ def export_data_federal_to_csv(csv_file): "Security Contact Email", ] sort_fields = ["domain__name", "federal_agency", "organization_type"] - filter_condition = {"organization_type__icontains": "federal"} + filter_condition = {"organization_type__icontains": "federal", "domain__state": Domain.State.READY} export_domains_to_writer(writer, columns, sort_fields, filter_condition)