Skip to content

Commit c2926a6

Browse files
committed
2097: Refactor populate_csv_columns
1 parent 5863c40 commit c2926a6

3 files changed

Lines changed: 17 additions & 20 deletions

File tree

accessibility_monitoring_platform/apps/cases/csv_export.py

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -76,22 +76,21 @@ def populate_csv_columns(
7676
case: DetailedCase | SimplifiedCase, column_definitions: list[CSVColumn]
7777
) -> list[CSVColumn]:
7878
"""Collect data for a case to export"""
79-
source_instances: dict[ExportableClasses] = {
80-
SimplifiedCase: case if isinstance(case, SimplifiedCase) else None,
81-
DetailedCase: case if isinstance(case, DetailedCase) else None,
82-
CaseCompliance: case.compliance if hasattr(case, "compliance") else None,
83-
CaseStatus: case.status,
84-
SimplifiedContact: (
85-
case.contact_set.filter(is_deleted=False).first()
86-
if isinstance(case, SimplifiedCase)
87-
else None
88-
),
89-
DetailedContact: (
90-
case.contact_set.filter(is_deleted=False).first()
91-
if isinstance(case, DetailedCase)
92-
else None
93-
),
94-
}
79+
source_instances: dict[ExportableClasses] = {}
80+
if isinstance(case, DetailedCase):
81+
source_instances[DetailedCase] = case
82+
source_instances[DetailedContact] = case.contact_set.filter(
83+
is_deleted=False
84+
).first()
85+
elif isinstance(case, SimplifiedCase):
86+
source_instances[SimplifiedCase] = case
87+
source_instances[CaseStatus] = case.status
88+
source_instances[SimplifiedContact] = case.contact_set.filter(
89+
is_deleted=False
90+
).first()
91+
if hasattr(case, "compliance"):
92+
source_instances[CaseCompliance] = case.compliance
93+
9594
columns: list[CSVColumn] = copy.deepcopy(column_definitions)
9695
for column in columns:
9796
source_instance: ExportableClasses = source_instances.get(column.source_class)

accessibility_monitoring_platform/apps/detailed/models.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -289,8 +289,7 @@ def previous_case_identifier(self) -> str:
289289
@property
290290
def equality_body_export_contact_details(self) -> str:
291291
"""
292-
For a contact-related field, concatenate the values for all the contacts
293-
and return as a single string.
292+
Concatenate the values for all the contacts and return as a single string.
294293
"""
295294
contacts_string: str = ""
296295
for contact in self.contacts:

accessibility_monitoring_platform/apps/simplified/models.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -607,8 +607,7 @@ def contact_exists(self) -> bool:
607607
@property
608608
def equality_body_export_contact_details(self) -> QuerySet["Contact"]:
609609
"""
610-
For a contact-related field, concatenate the values for all the contacts
611-
and return as a single string.
610+
Concatenate the values for all the contacts and return as a single string.
612611
"""
613612
contact_details: str = ""
614613
for contact in self.contacts:

0 commit comments

Comments
 (0)