From 9ac062fdbd5cd80d77db40402c97297cdcf91950 Mon Sep 17 00:00:00 2001
From: Carlos Vega <carlos.vega@uni.lu>
Date: Fri, 24 Apr 2020 11:30:42 +0200
Subject: [PATCH] change column labels in the export checkboxes

---
 smash/web/views/export.py | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/smash/web/views/export.py b/smash/web/views/export.py
index 1cb62712..9130b0fa 100644
--- a/smash/web/views/export.py
+++ b/smash/web/views/export.py
@@ -7,7 +7,11 @@ from django.http import HttpResponse
 from notifications import get_today_midnight_date
 from web.decorators import PermissionDecorator
 from . import e500_error, wrap_response
-from ..models import Subject, StudySubject, Appointment
+from ..models import Subject, StudySubject, Appointment, ConfigurationItem
+from web.models.constants import VISIT_SHOW_VISIT_NUMBER_FROM_ZERO
+from distutils.util import strtobool
+from web.templatetags.filters import display_visit_number
+import re
 
 
 @PermissionDecorator('export_subjects', 'subject')
@@ -86,12 +90,23 @@ def filter_fields_from_selected_fields(fields, selected_fields):
 
 
 def get_default_subject_fields():
+    visit_from_zero = ConfigurationItem.objects.get(type=VISIT_SHOW_VISIT_NUMBER_FROM_ZERO).value
+    visit_from_zero = strtobool(visit_from_zero)
     subject_fields = []
     for field in Subject._meta.fields:
         if field.name.upper() != "ID":
             subject_fields.append(field)
     for field in StudySubject._meta.fields:
         if field.name.upper() != "ID" and field.name.upper() != "SUBJECT":
+            if visit_from_zero:
+                match = re.match(r'^virus_test_(\d*)$', field.name)
+                if match:
+                    number = int(match.groups()[0])
+                    field.verbose_name = 'Virus {} RT-PCR'.format(display_visit_number(number))
+                match = re.match(r'^virus_test_(\d*)_updated$', field.name)
+                if match:
+                    number = int(match.groups()[0])
+                    field.verbose_name = 'Virus {} RT-PCR date'.format(display_visit_number(number))
             subject_fields.append(field)
     subject_fields.append(DROP_OUT_FIELD)
     return subject_fields
-- 
GitLab