diff --git a/epilepsy12/organisational_audit.py b/epilepsy12/organisational_audit.py index 269927ba..9a483bad 100644 --- a/epilepsy12/organisational_audit.py +++ b/epilepsy12/organisational_audit.py @@ -1,3 +1,5 @@ +import logging + import pandas as pd from django.forms.fields import TypedChoiceField @@ -12,6 +14,10 @@ from .forms_folder import OrganisationalAuditSubmissionForm + +logger = logging.getLogger(__name__) + + MULTISELECT_FIELD_MAPPINGS = { 'S01ESNFunctions': { "1": 'S01ESNEDVisit', @@ -153,14 +159,20 @@ def export_submission_period_as_csv(submission_period): 'SiteCode': site_code } + logger.info(f"Exporting submission {submission.id} for {site_name} ({site_code})") + for field in OrganisationalAuditSubmissionForm(): value = getattr(submission, field.name) if type(field.field) is MultiSelectFormField: - selected_choices = list(value) - - for choice, column in MULTISELECT_FIELD_MAPPINGS[field.name].items(): - row[column] = "1" if choice in selected_choices else "2" + if value is None: + logger.warn(f"No value for MultiSelectFormField {field.name} for {site_name} ({site_code})") + row[field.name] = None + else: + selected_choices = list(value) + + for choice, column in MULTISELECT_FIELD_MAPPINGS[field.name].items(): + row[column] = "1" if choice in selected_choices else "2" else: row[field.name] = value