From 11fe4ae2401e9d4b89c99aeb66d81ca821a0b216 Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Fri, 27 Nov 2020 10:10:23 +0100
Subject: [PATCH] migrations fixed so no binary strings are entered into
 database

---
 smash/web/migrations/0001_initial.py          |   2 +-
 .../web/migrations/0022_auto_20170403_0904.py |  12 +-
 .../web/migrations/0023_auto_20170404_1047.py |  18 +--
 .../web/migrations/0024_configurationitem.py  |   6 +-
 smash/web/migrations/0026_location_color.py   |   2 +-
 .../web/migrations/0027_auto_20170404_1505.py |   2 +-
 .../web/migrations/0029_auto_20170404_1616.py |   4 +-
 .../0031_appointment_post_mail_sent.py        |   2 +-
 .../web/migrations/0033_auto_20170406_1146.py |   2 +-
 smash/web/migrations/0034_mail_templates.py   | 110 +++++++++---------
 .../0036_year_of_diagnosis_default.py         |   2 +-
 .../0038_subject_pd_family_allow_null.py      |   4 +-
 .../0039_pd_family_default_unknown.py         |   2 +-
 smash/web/migrations/0040_daily_planning.py   |   2 +-
 .../0041_language_windows_locale_name.py      |   2 +-
 .../web/migrations/0042_auto_20170613_1634.py |   2 +-
 .../web/migrations/0043_auto_20170904_1240.py |   6 +-
 .../web/migrations/0044_auto_20170904_1602.py |   2 +-
 smash/web/migrations/0045_holiday_info.py     |   2 +-
 .../migrations/0046_subject_flying_team.py    |   2 +-
 .../web/migrations/0048_auto_20170911_1504.py |   2 +-
 .../web/migrations/0049_auto_20170912_1438.py |   2 +-
 smash/web/migrations/0051_missingsubject.py   |   8 +-
 .../web/migrations/0052_auto_20170913_0943.py |  14 +--
 .../web/migrations/0053_auto_20170913_0948.py |   2 +-
 .../web/migrations/0055_auto_20170925_0905.py |   2 +-
 .../web/migrations/0056_visit_visit_number.py |   2 +-
 .../web/migrations/0059_subject_country_2.py  |   2 +-
 .../migrations/0062_subject_resign_reason.py  |   2 +-
 .../web/migrations/0063_auto_20171120_1429.py |   2 +-
 .../web/migrations/0065_auto_20171127_0957.py |   2 +-
 smash/web/migrations/0067_subject.py          |  34 +++---
 .../web/migrations/0071_auto_20171130_1607.py |   8 +-
 .../web/migrations/0072_auto_20171201_1013.py |  32 ++---
 .../web/migrations/0073_auto_20171201_1034.py |   2 +-
 .../web/migrations/0074_auto_20171201_1038.py |   2 +-
 .../web/migrations/0075_auto_20171201_1252.py |   6 +-
 smash/web/migrations/0076_studysubjectlist.py |   6 +-
 smash/web/migrations/0077_subjectcolumns.py   |  30 ++---
 .../web/migrations/0078_auto_20171204_1040.py |   4 +-
 .../web/migrations/0079_auto_20171204_1235.py |  20 ++--
 .../web/migrations/0080_auto_20171204_1341.py |   4 +-
 ...1_studysubjectlist_last_contact_attempt.py |   4 +-
 .../web/migrations/0083_auto_20171205_1251.py |  12 +-
 .../web/migrations/0084_auto_20171205_1640.py |  22 ++--
 .../web/migrations/0085_auto_20171205_1650.py |   2 +-
 ...0088_appointmentcolumns_appointmentlist.py |  22 ++--
 .../0090_vouchertype_vouchertypeprice.py      |  10 +-
 smash/web/migrations/0092_voucher.py          |  12 +-
 .../web/migrations/0095_auto_20171208_1509.py |   2 +-
 .../web/migrations/0096_auto_20171208_1509.py |   2 +-
 .../web/migrations/0097_auto_20171211_1616.py |  30 ++---
 smash/web/migrations/0098_workerstudyrole.py  |   2 +-
 .../web/migrations/0099_auto_20171213_1115.py |  10 +-
 .../web/migrations/0100_auto_20171213_1140.py |  14 +--
 .../web/migrations/0101_auto_20171214_1047.py |   4 +-
 ...rameters_subject_voucher_expiry_visible.py |   2 +-
 .../web/migrations/0103_auto_20180214_1026.py |   2 +-
 .../web/migrations/0110_auto_20180601_0754.py |   8 +-
 .../web/migrations/0111_auto_20180601_1318.py |   8 +-
 .../web/migrations/0112_auto_20180604_1021.py |   2 +-
 .../web/migrations/0115_auto_20180611_0950.py |  48 ++++----
 .../web/migrations/0116_auto_20180611_1346.py |   2 +-
 .../web/migrations/0117_auto_20180717_1434.py |   6 +-
 .../migrations/0118_voucher_activity_type.py  |   2 +-
 .../web/migrations/0119_auto_20181002_0908.py |   2 +-
 .../web/migrations/0119_auto_20181015_1324.py |   4 +-
 .../web/migrations/0119_auto_20181024_1158.py |   4 +-
 smash/web/migrations/0120_holiday_kind.py     |   2 +-
 ...120_study_nd_number_study_subject_regex.py |   2 +-
 .../web/migrations/0121_auto_20181003_1256.py |   2 +-
 .../web/migrations/0121_auto_20181024_1859.py |   2 +-
 .../web/migrations/0124_auto_20181017_1532.py |   2 +-
 .../web/migrations/0126_auto_20181030_1733.py |   6 +-
 .../web/migrations/0127_auto_20181031_0959.py |   4 +-
 .../migrations/0128_studycolumns_excluded.py  |   2 +-
 .../web/migrations/0129_auto_20181031_1348.py |   2 +-
 ...30_study_visits_to_show_in_subject_list.py |   2 +-
 ...dy_default_voucher_expiration_in_months.py |   2 +-
 ..._study_default_visit_duration_in_months.py |   2 +-
 smash/web/migrations/0132_worker_comment.py   |   2 +-
 .../0132_workerstudyrole_permissions.py       |   2 +-
 .../web/migrations/0133_auto_20181113_1550.py |  10 +-
 .../web/migrations/0137_auto_20190321_1024.py |   8 +-
 .../web/migrations/0138_auto_20190321_1111.py |   2 +-
 .../web/migrations/0140_auto_20190528_0953.py |  10 +-
 .../web/migrations/0141_auto_20200319_1040.py |   2 +-
 smash/web/migrations/0142_provenance.py       |  14 +--
 .../web/migrations/0143_auto_20200319_1121.py |   2 +-
 .../web/migrations/0144_auto_20200319_1221.py |   4 +-
 .../web/migrations/0145_auto_20200319_1404.py |   2 +-
 .../web/migrations/0146_auto_20200319_1446.py |   2 +-
 .../web/migrations/0147_auto_20200320_0931.py |   2 +-
 .../web/migrations/0148_auto_20200319_1301.py |   2 +-
 .../web/migrations/0153_auto_20200320_0932.py |  16 +--
 .../web/migrations/0160_auto_20200415_1101.py |  40 +++----
 .../web/migrations/0161_auto_20200416_0736.py |  22 ++--
 .../web/migrations/0162_auto_20200416_1212.py |   4 +-
 .../0163_study_redcap_first_visit_number.py   |   2 +-
 .../web/migrations/0167_auto_20200428_1110.py |   8 +-
 .../web/migrations/0169_auto_20200525_1123.py |  10 +-
 .../web/migrations/0170_auto_20200525_1126.py |  10 +-
 .../web/migrations/0172_auto_20200525_1246.py |  40 +++----
 smash/web/tests/models/test_visit.py          |  30 +++--
 104 files changed, 450 insertions(+), 438 deletions(-)

diff --git a/smash/web/migrations/0001_initial.py b/smash/web/migrations/0001_initial.py
index 03eecd51..7d3f9800 100644
--- a/smash/web/migrations/0001_initial.py
+++ b/smash/web/migrations/0001_initial.py
@@ -74,7 +74,7 @@ class Migration(migrations.Migration):
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                 ('name', models.CharField(max_length=20)),
-                ('image', models.ImageField(upload_to=b'')),
+                ('image', models.ImageField(upload_to='')),
             ],
         ),
         migrations.CreateModel(
diff --git a/smash/web/migrations/0022_auto_20170403_0904.py b/smash/web/migrations/0022_auto_20170403_0904.py
index 95aee178..bde42f6c 100644
--- a/smash/web/migrations/0022_auto_20170403_0904.py
+++ b/smash/web/migrations/0022_auto_20170403_0904.py
@@ -20,31 +20,31 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='worker',
             name='screening_number_prefix',
-            field=models.CharField(blank=True, max_length=1, null=True, verbose_name=b'Default screening number prefix'),
+            field=models.CharField(blank=True, max_length=1, null=True, verbose_name='Default screening number prefix'),
         ),
         migrations.AlterField(
             model_name='appointment',
             name='status',
-            field=models.CharField(choices=[(b'SCHEDULED', b'Scheduled'), (b'CANCELLED', b'Cancelled'), (b'FINISHED', b'Finished'), (b'NO_SHOW', b'No Show')], default=b'SCHEDULED', max_length=20, verbose_name=b'Status'),
+            field=models.CharField(choices=[('SCHEDULED', 'Scheduled'), ('CANCELLED', 'Cancelled'), ('FINISHED', 'Finished'), ('NO_SHOW', 'No Show')], default='SCHEDULED', max_length=20, verbose_name='Status'),
         ),
         migrations.AlterField(
             model_name='appointment',
             name='visit',
-            field=models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, to='web.Visit', verbose_name=b'Visit ID'),
+            field=models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, to='web.Visit', verbose_name='Visit ID'),
         ),
         migrations.AlterField(
             model_name='subject',
             name='dead',
-            field=models.BooleanField(default=False, verbose_name=b'Deceased'),
+            field=models.BooleanField(default=False, verbose_name='Deceased'),
         ),
         migrations.AlterField(
             model_name='subject',
             name='resigned',
-            field=models.BooleanField(default=False, verbose_name=b'Resigned'),
+            field=models.BooleanField(default=False, verbose_name='Resigned'),
         ),
         migrations.AlterField(
             model_name='subject',
             name='type',
-            field=models.CharField(choices=[(b'P', b'PATIENT'), (b'C', b'CONTROL')], max_length=1, verbose_name=b'Type'),
+            field=models.CharField(choices=[('P', 'PATIENT'), ('C', 'CONTROL')], max_length=1, verbose_name='Type'),
         ),
     ]
diff --git a/smash/web/migrations/0023_auto_20170404_1047.py b/smash/web/migrations/0023_auto_20170404_1047.py
index d62117ae..8e5da3b0 100644
--- a/smash/web/migrations/0023_auto_20170404_1047.py
+++ b/smash/web/migrations/0023_auto_20170404_1047.py
@@ -17,23 +17,23 @@ class Migration(migrations.Migration):
             name='Availability',
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('day_number', models.IntegerField(verbose_name=b'Day of the week')),
-                ('available_from', models.TimeField(verbose_name=b'Available since')),
-                ('available_till', models.TimeField(verbose_name=b'Available until')),
-                ('is_current', models.BooleanField(default=True, verbose_name=b'Is current?')),
-                ('person', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.Worker', verbose_name=b'Worker')),
+                ('day_number', models.IntegerField(verbose_name='Day of the week')),
+                ('available_from', models.TimeField(verbose_name='Available since')),
+                ('available_till', models.TimeField(verbose_name='Available until')),
+                ('is_current', models.BooleanField(default=True, verbose_name='Is current?')),
+                ('person', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.Worker', verbose_name='Worker')),
             ],
         ),
         migrations.CreateModel(
             name='ContactAttempt',
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('type', models.CharField(choices=[(b'E', b'Email'), (b'F', b'Face to face'), (b'X', b'Fax'), (b'P', b'Phone'), (b'S', b'SMS')], default=b'P', max_length=2)),
-                ('datetime_when', models.DateTimeField(help_text=b'When did the contact occurred?', verbose_name=b'Contact on')),
+                ('type', models.CharField(choices=[('E', 'Email'), ('F', 'Face to face'), ('X', 'Fax'), ('P', 'Phone'), ('S', 'SMS')], default='P', max_length=2)),
+                ('datetime_when', models.DateTimeField(help_text='When did the contact occurred?', verbose_name='Contact on')),
                 ('success', models.BooleanField(default=False)),
                 ('comment', models.TextField(blank=True, max_length=1024, null=True)),
-                ('subject', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.Subject', verbose_name=b'Subject')),
-                ('worker', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='web.Worker', verbose_name=b'Worker')),
+                ('subject', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.Subject', verbose_name='Subject')),
+                ('worker', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='web.Worker', verbose_name='Worker')),
             ],
         ),
         migrations.RemoveField(
diff --git a/smash/web/migrations/0024_configurationitem.py b/smash/web/migrations/0024_configurationitem.py
index d71473f9..9ad06c81 100644
--- a/smash/web/migrations/0024_configurationitem.py
+++ b/smash/web/migrations/0024_configurationitem.py
@@ -16,9 +16,9 @@ class Migration(migrations.Migration):
             name='ConfigurationItem',
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('type', models.CharField(editable=False, max_length=50, verbose_name=b'Type')),
-                ('name', models.CharField(editable=False, max_length=50, verbose_name=b'Name')),
-                ('value', models.CharField(max_length=50, verbose_name=b'Value')),
+                ('type', models.CharField(editable=False, max_length=50, verbose_name='Type')),
+                ('name', models.CharField(editable=False, max_length=50, verbose_name='Name')),
+                ('value', models.CharField(max_length=50, verbose_name='Value')),
             ],
         ),
     ]
diff --git a/smash/web/migrations/0026_location_color.py b/smash/web/migrations/0026_location_color.py
index 675cd0a3..86ea8a9e 100644
--- a/smash/web/migrations/0026_location_color.py
+++ b/smash/web/migrations/0026_location_color.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='location',
             name='color',
-            field=models.CharField(blank=True, default=b'', max_length=20),
+            field=models.CharField(blank=True, default='', max_length=20),
         ),
     ]
diff --git a/smash/web/migrations/0027_auto_20170404_1505.py b/smash/web/migrations/0027_auto_20170404_1505.py
index c6027325..0bc24c43 100644
--- a/smash/web/migrations/0027_auto_20170404_1505.py
+++ b/smash/web/migrations/0027_auto_20170404_1505.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='location',
             name='color',
-            field=models.CharField(blank=True, default=b'', max_length=20, verbose_name=b'Calendar appointment color'),
+            field=models.CharField(blank=True, default='', max_length=20, verbose_name='Calendar appointment color'),
         ),
     ]
diff --git a/smash/web/migrations/0029_auto_20170404_1616.py b/smash/web/migrations/0029_auto_20170404_1616.py
index aaa9f0c7..f8daac9c 100644
--- a/smash/web/migrations/0029_auto_20170404_1616.py
+++ b/smash/web/migrations/0029_auto_20170404_1616.py
@@ -15,11 +15,11 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='subject',
             name='information_sent',
-            field=models.BooleanField(default=False, verbose_name=b'Information sent'),
+            field=models.BooleanField(default=False, verbose_name='Information sent'),
         ),
         migrations.AddField(
             model_name='subject',
             name='pd_in_family',
-            field=models.BooleanField(default=False, verbose_name=b'PD in family'),
+            field=models.BooleanField(default=False, verbose_name='PD in family'),
         ),
     ]
diff --git a/smash/web/migrations/0031_appointment_post_mail_sent.py b/smash/web/migrations/0031_appointment_post_mail_sent.py
index 173aa65e..9284b69d 100644
--- a/smash/web/migrations/0031_appointment_post_mail_sent.py
+++ b/smash/web/migrations/0031_appointment_post_mail_sent.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='appointment',
             name='post_mail_sent',
-            field=models.BooleanField(default=False, verbose_name=b'Post mail sent'),
+            field=models.BooleanField(default=False, verbose_name='Post mail sent'),
         ),
     ]
diff --git a/smash/web/migrations/0033_auto_20170406_1146.py b/smash/web/migrations/0033_auto_20170406_1146.py
index c8b6295c..81455053 100644
--- a/smash/web/migrations/0033_auto_20170406_1146.py
+++ b/smash/web/migrations/0033_auto_20170406_1146.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='subject',
             name='datetime_contact_reminder',
-            field=models.DateTimeField(blank=True, null=True, verbose_name=b'Contact on'),
+            field=models.DateTimeField(blank=True, null=True, verbose_name='Contact on'),
         ),
     ]
diff --git a/smash/web/migrations/0034_mail_templates.py b/smash/web/migrations/0034_mail_templates.py
index 4539c952..9b6564ae 100644
--- a/smash/web/migrations/0034_mail_templates.py
+++ b/smash/web/migrations/0034_mail_templates.py
@@ -47,9 +47,9 @@ class Migration(migrations.Migration):
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                 ('name', models.CharField(max_length=255)),
-                ('context', models.CharField(choices=[(b'A', b'Appointment'), (b'S', b'Subject'), (b'V', b'Visit')],
+                ('context', models.CharField(choices=[('A', 'Appointment'), ('S', 'Subject'), ('V', 'Visit')],
                                              max_length=1)),
-                ('template_file', models.FileField(upload_to=b'templates/')),
+                ('template_file', models.FileField(upload_to='templates/')),
             ],
         ),
         migrations.AlterModelOptions(
@@ -60,59 +60,59 @@ class Migration(migrations.Migration):
             model_name='language',
             name='locale',
             field=models.CharField(
-                choices=[(b'af_ZA', b'af_ZA'), (b'am_ET', b'am_ET'), (b'ar_AE', b'ar_AE'), (b'ar_BH', b'ar_BH'),
-                         (b'ar_DZ', b'ar_DZ'), (b'ar_EG', b'ar_EG'), (b'ar_IQ', b'ar_IQ'), (b'ar_JO', b'ar_JO'),
-                         (b'ar_KW', b'ar_KW'), (b'ar_LB', b'ar_LB'), (b'ar_LY', b'ar_LY'), (b'ar_MA', b'ar_MA'),
-                         (b'ar_OM', b'ar_OM'), (b'ar_QA', b'ar_QA'), (b'ar_SA', b'ar_SA'), (b'ar_SY', b'ar_SY'),
-                         (b'ar_TN', b'ar_TN'), (b'ar_YE', b'ar_YE'), (b'arn_CL', b'arn_CL'), (b'as_IN', b'as_IN'),
-                         (b'az_AZ', b'az_AZ'), (b'az_AZ', b'az_AZ'), (b'ba_RU', b'ba_RU'), (b'be_BY', b'be_BY'),
-                         (b'bg_BG', b'bg_BG'), (b'bn_IN', b'bn_IN'), (b'bo_BT', b'bo_BT'), (b'bo_CN', b'bo_CN'),
-                         (b'br_FR', b'br_FR'), (b'bs_BA', b'bs_BA'), (b'bs_BA', b'bs_BA'), (b'ca_ES', b'ca_ES'),
-                         (b'co_FR', b'co_FR'), (b'cs_CZ', b'cs_CZ'), (b'cy_GB', b'cy_GB'), (b'da_DK', b'da_DK'),
-                         (b'de_AT', b'de_AT'), (b'de_CH', b'de_CH'), (b'de_DE', b'de_DE'), (b'de_LI', b'de_LI'),
-                         (b'de_LU', b'de_LU'), (b'div_MV', b'div_MV'), (b'dsb_DE', b'dsb_DE'), (b'el_GR', b'el_GR'),
-                         (b'en_AU', b'en_AU'), (b'en_BZ', b'en_BZ'), (b'en_CA', b'en_CA'), (b'en_CB', b'en_CB'),
-                         (b'en_GB', b'en_GB'), (b'en_IE', b'en_IE'), (b'en_IN', b'en_IN'), (b'en_IN', b'en_IN'),
-                         (b'en_JA', b'en_JA'), (b'en_MY', b'en_MY'), (b'en_NZ', b'en_NZ'), (b'en_PH', b'en_PH'),
-                         (b'en_TT', b'en_TT'), (b'en_US', b'en_US'), (b'en_ZA', b'en_ZA'), (b'en_ZW', b'en_ZW'),
-                         (b'es_AR', b'es_AR'), (b'es_BO', b'es_BO'), (b'es_CL', b'es_CL'), (b'es_CO', b'es_CO'),
-                         (b'es_CR', b'es_CR'), (b'es_DO', b'es_DO'), (b'es_EC', b'es_EC'), (b'es_ES', b'es_ES'),
-                         (b'es_ES', b'es_ES'), (b'es_GT', b'es_GT'), (b'es_HN', b'es_HN'), (b'es_MX', b'es_MX'),
-                         (b'es_NI', b'es_NI'), (b'es_PA', b'es_PA'), (b'es_PE', b'es_PE'), (b'es_PR', b'es_PR'),
-                         (b'es_PY', b'es_PY'), (b'es_SV', b'es_SV'), (b'es_UR', b'es_UR'), (b'es_US', b'es_US'),
-                         (b'es_VE', b'es_VE'), (b'et_EE', b'et_EE'), (b'eu_ES', b'eu_ES'), (b'fa_IR', b'fa_IR'),
-                         (b'fi_FI', b'fi_FI'), (b'fil_PH', b'fil_PH'), (b'fo_FO', b'fo_FO'), (b'fr_BE', b'fr_BE'),
-                         (b'fr_CA', b'fr_CA'), (b'fr_CH', b'fr_CH'), (b'fr_FR', b'fr_FR'), (b'fr_LU', b'fr_LU'),
-                         (b'fr_MC', b'fr_MC'), (b'fy_NL', b'fy_NL'), (b'ga_IE', b'ga_IE'), (b'gbz_AF', b'gbz_AF'),
-                         (b'gl_ES', b'gl_ES'), (b'gsw_FR', b'gsw_FR'), (b'gu_IN', b'gu_IN'), (b'ha_NG', b'ha_NG'),
-                         (b'he_IL', b'he_IL'), (b'hi_IN', b'hi_IN'), (b'hr_BA', b'hr_BA'), (b'hr_HR', b'hr_HR'),
-                         (b'hu_HU', b'hu_HU'), (b'hy_AM', b'hy_AM'), (b'id_ID', b'id_ID'), (b'ii_CN', b'ii_CN'),
-                         (b'is_IS', b'is_IS'), (b'it_CH', b'it_CH'), (b'it_IT', b'it_IT'), (b'iu_CA', b'iu_CA'),
-                         (b'iu_CA', b'iu_CA'), (b'ja_JP', b'ja_JP'), (b'ka_GE', b'ka_GE'), (b'kh_KH', b'kh_KH'),
-                         (b'kk_KZ', b'kk_KZ'), (b'kl_GL', b'kl_GL'), (b'kn_IN', b'kn_IN'), (b'ko_KR', b'ko_KR'),
-                         (b'kok_IN', b'kok_IN'), (b'ky_KG', b'ky_KG'), (b'lb_LU', b'lb_LU'), (b'lo_LA', b'lo_LA'),
-                         (b'lt_LT', b'lt_LT'), (b'lv_LV', b'lv_LV'), (b'mi_NZ', b'mi_NZ'), (b'mk_MK', b'mk_MK'),
-                         (b'ml_IN', b'ml_IN'), (b'mn_CN', b'mn_CN'), (b'mn_MN', b'mn_MN'), (b'moh_CA', b'moh_CA'),
-                         (b'mr_IN', b'mr_IN'), (b'ms_BN', b'ms_BN'), (b'ms_MY', b'ms_MY'), (b'mt_MT', b'mt_MT'),
-                         (b'nb_NO', b'nb_NO'), (b'ne_NP', b'ne_NP'), (b'nl_BE', b'nl_BE'), (b'nl_NL', b'nl_NL'),
-                         (b'nn_NO', b'nn_NO'), (b'ns_ZA', b'ns_ZA'), (b'oc_FR', b'oc_FR'), (b'or_IN', b'or_IN'),
-                         (b'pa_IN', b'pa_IN'), (b'pl_PL', b'pl_PL'), (b'ps_AF', b'ps_AF'), (b'pt_BR', b'pt_BR'),
-                         (b'pt_PT', b'pt_PT'), (b'qut_GT', b'qut_GT'), (b'quz_BO', b'quz_BO'), (b'quz_EC', b'quz_EC'),
-                         (b'quz_PE', b'quz_PE'), (b'rm_CH', b'rm_CH'), (b'ro_RO', b'ro_RO'), (b'ru_RU', b'ru_RU'),
-                         (b'rw_RW', b'rw_RW'), (b'sa_IN', b'sa_IN'), (b'sah_RU', b'sah_RU'), (b'se_FI', b'se_FI'),
-                         (b'se_NO', b'se_NO'), (b'se_SE', b'se_SE'), (b'si_LK', b'si_LK'), (b'sk_SK', b'sk_SK'),
-                         (b'sl_SI', b'sl_SI'), (b'sma_NO', b'sma_NO'), (b'sma_SE', b'sma_SE'), (b'smj_NO', b'smj_NO'),
-                         (b'smj_SE', b'smj_SE'), (b'smn_FI', b'smn_FI'), (b'sms_FI', b'sms_FI'), (b'sq_AL', b'sq_AL'),
-                         (b'sr_BA', b'sr_BA'), (b'sr_BA', b'sr_BA'), (b'sr_SP', b'sr_SP'), (b'sr_SP', b'sr_SP'),
-                         (b'sv_FI', b'sv_FI'), (b'sv_SE', b'sv_SE'), (b'sw_KE', b'sw_KE'), (b'syr_SY', b'syr_SY'),
-                         (b'ta_IN', b'ta_IN'), (b'te_IN', b'te_IN'), (b'tg_TJ', b'tg_TJ'), (b'th_TH', b'th_TH'),
-                         (b'tk_TM', b'tk_TM'), (b'tmz_DZ', b'tmz_DZ'), (b'tn_ZA', b'tn_ZA'), (b'tr_TR', b'tr_TR'),
-                         (b'tt_RU', b'tt_RU'), (b'ug_CN', b'ug_CN'), (b'uk_UA', b'uk_UA'), (b'ur_IN', b'ur_IN'),
-                         (b'ur_PK', b'ur_PK'), (b'uz_UZ', b'uz_UZ'), (b'uz_UZ', b'uz_UZ'), (b'vi_VN', b'vi_VN'),
-                         (b'wen_DE', b'wen_DE'), (b'wo_SN', b'wo_SN'), (b'xh_ZA', b'xh_ZA'), (b'yo_NG', b'yo_NG'),
-                         (b'zh_CHS', b'zh_CHS'), (b'zh_CHT', b'zh_CHT'), (b'zh_CN', b'zh_CN'), (b'zh_HK', b'zh_HK'),
-                         (b'zh_MO', b'zh_MO'), (b'zh_SG', b'zh_SG'), (b'zh_TW', b'zh_TW'), (b'zu_ZA', b'zu_ZA')],
-                default=b'fr_FR', max_length=10),
+                choices=[('af_ZA', 'af_ZA'), ('am_ET', 'am_ET'), ('ar_AE', 'ar_AE'), ('ar_BH', 'ar_BH'),
+                         ('ar_DZ', 'ar_DZ'), ('ar_EG', 'ar_EG'), ('ar_IQ', 'ar_IQ'), ('ar_JO', 'ar_JO'),
+                         ('ar_KW', 'ar_KW'), ('ar_LB', 'ar_LB'), ('ar_LY', 'ar_LY'), ('ar_MA', 'ar_MA'),
+                         ('ar_OM', 'ar_OM'), ('ar_QA', 'ar_QA'), ('ar_SA', 'ar_SA'), ('ar_SY', 'ar_SY'),
+                         ('ar_TN', 'ar_TN'), ('ar_YE', 'ar_YE'), ('arn_CL', 'arn_CL'), ('as_IN', 'as_IN'),
+                         ('az_AZ', 'az_AZ'), ('az_AZ', 'az_AZ'), ('ba_RU', 'ba_RU'), ('be_BY', 'be_BY'),
+                         ('bg_BG', 'bg_BG'), ('bn_IN', 'bn_IN'), ('bo_BT', 'bo_BT'), ('bo_CN', 'bo_CN'),
+                         ('br_FR', 'br_FR'), ('bs_BA', 'bs_BA'), ('bs_BA', 'bs_BA'), ('ca_ES', 'ca_ES'),
+                         ('co_FR', 'co_FR'), ('cs_CZ', 'cs_CZ'), ('cy_GB', 'cy_GB'), ('da_DK', 'da_DK'),
+                         ('de_AT', 'de_AT'), ('de_CH', 'de_CH'), ('de_DE', 'de_DE'), ('de_LI', 'de_LI'),
+                         ('de_LU', 'de_LU'), ('div_MV', 'div_MV'), ('dsb_DE', 'dsb_DE'), ('el_GR', 'el_GR'),
+                         ('en_AU', 'en_AU'), ('en_BZ', 'en_BZ'), ('en_CA', 'en_CA'), ('en_CB', 'en_CB'),
+                         ('en_GB', 'en_GB'), ('en_IE', 'en_IE'), ('en_IN', 'en_IN'), ('en_IN', 'en_IN'),
+                         ('en_JA', 'en_JA'), ('en_MY', 'en_MY'), ('en_NZ', 'en_NZ'), ('en_PH', 'en_PH'),
+                         ('en_TT', 'en_TT'), ('en_US', 'en_US'), ('en_ZA', 'en_ZA'), ('en_ZW', 'en_ZW'),
+                         ('es_AR', 'es_AR'), ('es_BO', 'es_BO'), ('es_CL', 'es_CL'), ('es_CO', 'es_CO'),
+                         ('es_CR', 'es_CR'), ('es_DO', 'es_DO'), ('es_EC', 'es_EC'), ('es_ES', 'es_ES'),
+                         ('es_ES', 'es_ES'), ('es_GT', 'es_GT'), ('es_HN', 'es_HN'), ('es_MX', 'es_MX'),
+                         ('es_NI', 'es_NI'), ('es_PA', 'es_PA'), ('es_PE', 'es_PE'), ('es_PR', 'es_PR'),
+                         ('es_PY', 'es_PY'), ('es_SV', 'es_SV'), ('es_UR', 'es_UR'), ('es_US', 'es_US'),
+                         ('es_VE', 'es_VE'), ('et_EE', 'et_EE'), ('eu_ES', 'eu_ES'), ('fa_IR', 'fa_IR'),
+                         ('fi_FI', 'fi_FI'), ('fil_PH', 'fil_PH'), ('fo_FO', 'fo_FO'), ('fr_BE', 'fr_BE'),
+                         ('fr_CA', 'fr_CA'), ('fr_CH', 'fr_CH'), ('fr_FR', 'fr_FR'), ('fr_LU', 'fr_LU'),
+                         ('fr_MC', 'fr_MC'), ('fy_NL', 'fy_NL'), ('ga_IE', 'ga_IE'), ('gbz_AF', 'gbz_AF'),
+                         ('gl_ES', 'gl_ES'), ('gsw_FR', 'gsw_FR'), ('gu_IN', 'gu_IN'), ('ha_NG', 'ha_NG'),
+                         ('he_IL', 'he_IL'), ('hi_IN', 'hi_IN'), ('hr_BA', 'hr_BA'), ('hr_HR', 'hr_HR'),
+                         ('hu_HU', 'hu_HU'), ('hy_AM', 'hy_AM'), ('id_ID', 'id_ID'), ('ii_CN', 'ii_CN'),
+                         ('is_IS', 'is_IS'), ('it_CH', 'it_CH'), ('it_IT', 'it_IT'), ('iu_CA', 'iu_CA'),
+                         ('iu_CA', 'iu_CA'), ('ja_JP', 'ja_JP'), ('ka_GE', 'ka_GE'), ('kh_KH', 'kh_KH'),
+                         ('kk_KZ', 'kk_KZ'), ('kl_GL', 'kl_GL'), ('kn_IN', 'kn_IN'), ('ko_KR', 'ko_KR'),
+                         ('kok_IN', 'kok_IN'), ('ky_KG', 'ky_KG'), ('lb_LU', 'lb_LU'), ('lo_LA', 'lo_LA'),
+                         ('lt_LT', 'lt_LT'), ('lv_LV', 'lv_LV'), ('mi_NZ', 'mi_NZ'), ('mk_MK', 'mk_MK'),
+                         ('ml_IN', 'ml_IN'), ('mn_CN', 'mn_CN'), ('mn_MN', 'mn_MN'), ('moh_CA', 'moh_CA'),
+                         ('mr_IN', 'mr_IN'), ('ms_BN', 'ms_BN'), ('ms_MY', 'ms_MY'), ('mt_MT', 'mt_MT'),
+                         ('nb_NO', 'nb_NO'), ('ne_NP', 'ne_NP'), ('nl_BE', 'nl_BE'), ('nl_NL', 'nl_NL'),
+                         ('nn_NO', 'nn_NO'), ('ns_ZA', 'ns_ZA'), ('oc_FR', 'oc_FR'), ('or_IN', 'or_IN'),
+                         ('pa_IN', 'pa_IN'), ('pl_PL', 'pl_PL'), ('ps_AF', 'ps_AF'), ('pt_BR', 'pt_BR'),
+                         ('pt_PT', 'pt_PT'), ('qut_GT', 'qut_GT'), ('quz_BO', 'quz_BO'), ('quz_EC', 'quz_EC'),
+                         ('quz_PE', 'quz_PE'), ('rm_CH', 'rm_CH'), ('ro_RO', 'ro_RO'), ('ru_RU', 'ru_RU'),
+                         ('rw_RW', 'rw_RW'), ('sa_IN', 'sa_IN'), ('sah_RU', 'sah_RU'), ('se_FI', 'se_FI'),
+                         ('se_NO', 'se_NO'), ('se_SE', 'se_SE'), ('si_LK', 'si_LK'), ('sk_SK', 'sk_SK'),
+                         ('sl_SI', 'sl_SI'), ('sma_NO', 'sma_NO'), ('sma_SE', 'sma_SE'), ('smj_NO', 'smj_NO'),
+                         ('smj_SE', 'smj_SE'), ('smn_FI', 'smn_FI'), ('sms_FI', 'sms_FI'), ('sq_AL', 'sq_AL'),
+                         ('sr_BA', 'sr_BA'), ('sr_BA', 'sr_BA'), ('sr_SP', 'sr_SP'), ('sr_SP', 'sr_SP'),
+                         ('sv_FI', 'sv_FI'), ('sv_SE', 'sv_SE'), ('sw_KE', 'sw_KE'), ('syr_SY', 'syr_SY'),
+                         ('ta_IN', 'ta_IN'), ('te_IN', 'te_IN'), ('tg_TJ', 'tg_TJ'), ('th_TH', 'th_TH'),
+                         ('tk_TM', 'tk_TM'), ('tmz_DZ', 'tmz_DZ'), ('tn_ZA', 'tn_ZA'), ('tr_TR', 'tr_TR'),
+                         ('tt_RU', 'tt_RU'), ('ug_CN', 'ug_CN'), ('uk_UA', 'uk_UA'), ('ur_IN', 'ur_IN'),
+                         ('ur_PK', 'ur_PK'), ('uz_UZ', 'uz_UZ'), ('uz_UZ', 'uz_UZ'), ('vi_VN', 'vi_VN'),
+                         ('wen_DE', 'wen_DE'), ('wo_SN', 'wo_SN'), ('xh_ZA', 'xh_ZA'), ('yo_NG', 'yo_NG'),
+                         ('zh_CHS', 'zh_CHS'), ('zh_CHT', 'zh_CHT'), ('zh_CN', 'zh_CN'), ('zh_HK', 'zh_HK'),
+                         ('zh_MO', 'zh_MO'), ('zh_SG', 'zh_SG'), ('zh_TW', 'zh_TW'), ('zu_ZA', 'zu_ZA')],
+                default='fr_FR', max_length=10),
         ),
         migrations.AddField(
             model_name='language',
diff --git a/smash/web/migrations/0036_year_of_diagnosis_default.py b/smash/web/migrations/0036_year_of_diagnosis_default.py
index 43d9d2bf..8ceadb77 100644
--- a/smash/web/migrations/0036_year_of_diagnosis_default.py
+++ b/smash/web/migrations/0036_year_of_diagnosis_default.py
@@ -14,7 +14,7 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='subject',
             name='year_of_diagnosis',
-            field=models.IntegerField(blank=True, null=True, verbose_name=b'Year of diagnosis (YYYY)'),
+            field=models.IntegerField(blank=True, null=True, verbose_name='Year of diagnosis (YYYY)'),
         ),
         migrations.RunSQL(
             "UPDATE web_subject SET year_of_diagnosis=NULL WHERE year_of_diagnosis = 0;",
diff --git a/smash/web/migrations/0038_subject_pd_family_allow_null.py b/smash/web/migrations/0038_subject_pd_family_allow_null.py
index 84a908f2..4171c3f5 100644
--- a/smash/web/migrations/0038_subject_pd_family_allow_null.py
+++ b/smash/web/migrations/0038_subject_pd_family_allow_null.py
@@ -14,11 +14,11 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='contactattempt',
             name='datetime_when',
-            field=models.DateTimeField(help_text=b'When did the contact occurred?', verbose_name=b'When'),
+            field=models.DateTimeField(help_text='When did the contact occurred?', verbose_name='When'),
         ),
         migrations.AlterField(
             model_name='subject',
             name='pd_in_family',
-            field=models.NullBooleanField(default=False, verbose_name=b'PD in family'),
+            field=models.NullBooleanField(default=False, verbose_name='PD in family'),
         ),
     ]
diff --git a/smash/web/migrations/0039_pd_family_default_unknown.py b/smash/web/migrations/0039_pd_family_default_unknown.py
index d8f27658..b2cba262 100644
--- a/smash/web/migrations/0039_pd_family_default_unknown.py
+++ b/smash/web/migrations/0039_pd_family_default_unknown.py
@@ -16,7 +16,7 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='subject',
             name='pd_in_family',
-            field=models.NullBooleanField(default=None, verbose_name=b'PD in family'),
+            field=models.NullBooleanField(default=None, verbose_name='PD in family'),
         )]
     if is_sqlite_db():
         operations.append(
diff --git a/smash/web/migrations/0040_daily_planning.py b/smash/web/migrations/0040_daily_planning.py
index 13337273..ce59986f 100644
--- a/smash/web/migrations/0040_daily_planning.py
+++ b/smash/web/migrations/0040_daily_planning.py
@@ -35,7 +35,7 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='appointment',
             name='appointment_types_new',
-            field=models.ManyToManyField(blank=True, related_name='new_appointment', through='web.AppointmentTypeLink', to='web.AppointmentType', verbose_name=b'Appointment types'),
+            field=models.ManyToManyField(blank=True, related_name='new_appointment', through='web.AppointmentTypeLink', to='web.AppointmentType', verbose_name='Appointment types'),
         ),
         migrations.RunPython(convert_records),
         migrations.RunSQL(
diff --git a/smash/web/migrations/0041_language_windows_locale_name.py b/smash/web/migrations/0041_language_windows_locale_name.py
index 44f218ed..1c7d7909 100644
--- a/smash/web/migrations/0041_language_windows_locale_name.py
+++ b/smash/web/migrations/0041_language_windows_locale_name.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='language',
             name='windows_locale_name',
-            field=models.CharField(choices=[(b'af_ZA', b'af_ZA'), (b'am_ET', b'am_ET'), (b'ar_AE', b'ar_AE'), (b'ar_BH', b'ar_BH'), (b'ar_DZ', b'ar_DZ'), (b'ar_EG', b'ar_EG'), (b'ar_IQ', b'ar_IQ'), (b'ar_JO', b'ar_JO'), (b'ar_KW', b'ar_KW'), (b'ar_LB', b'ar_LB'), (b'ar_LY', b'ar_LY'), (b'ar_MA', b'ar_MA'), (b'ar_OM', b'ar_OM'), (b'ar_QA', b'ar_QA'), (b'ar_SA', b'ar_SA'), (b'ar_SY', b'ar_SY'), (b'ar_TN', b'ar_TN'), (b'ar_YE', b'ar_YE'), (b'arn_CL', b'arn_CL'), (b'as_IN', b'as_IN'), (b'az_AZ', b'az_AZ'), (b'az_AZ', b'az_AZ'), (b'ba_RU', b'ba_RU'), (b'be_BY', b'be_BY'), (b'bg_BG', b'bg_BG'), (b'bn_IN', b'bn_IN'), (b'bo_BT', b'bo_BT'), (b'bo_CN', b'bo_CN'), (b'br_FR', b'br_FR'), (b'bs_BA', b'bs_BA'), (b'bs_BA', b'bs_BA'), (b'ca_ES', b'ca_ES'), (b'co_FR', b'co_FR'), (b'cs_CZ', b'cs_CZ'), (b'cy_GB', b'cy_GB'), (b'da_DK', b'da_DK'), (b'de_AT', b'de_AT'), (b'de_CH', b'de_CH'), (b'de_DE', b'de_DE'), (b'de_LI', b'de_LI'), (b'de_LU', b'de_LU'), (b'div_MV', b'div_MV'), (b'dsb_DE', b'dsb_DE'), (b'el_GR', b'el_GR'), (b'en_AU', b'en_AU'), (b'en_BZ', b'en_BZ'), (b'en_CA', b'en_CA'), (b'en_CB', b'en_CB'), (b'en_GB', b'en_GB'), (b'en_IE', b'en_IE'), (b'en_IN', b'en_IN'), (b'en_IN', b'en_IN'), (b'en_JA', b'en_JA'), (b'en_MY', b'en_MY'), (b'en_NZ', b'en_NZ'), (b'en_PH', b'en_PH'), (b'en_TT', b'en_TT'), (b'en_US', b'en_US'), (b'en_ZA', b'en_ZA'), (b'en_ZW', b'en_ZW'), (b'es_AR', b'es_AR'), (b'es_BO', b'es_BO'), (b'es_CL', b'es_CL'), (b'es_CO', b'es_CO'), (b'es_CR', b'es_CR'), (b'es_DO', b'es_DO'), (b'es_EC', b'es_EC'), (b'es_ES', b'es_ES'), (b'es_ES', b'es_ES'), (b'es_GT', b'es_GT'), (b'es_HN', b'es_HN'), (b'es_MX', b'es_MX'), (b'es_NI', b'es_NI'), (b'es_PA', b'es_PA'), (b'es_PE', b'es_PE'), (b'es_PR', b'es_PR'), (b'es_PY', b'es_PY'), (b'es_SV', b'es_SV'), (b'es_UR', b'es_UR'), (b'es_US', b'es_US'), (b'es_VE', b'es_VE'), (b'et_EE', b'et_EE'), (b'eu_ES', b'eu_ES'), (b'fa_IR', b'fa_IR'), (b'fi_FI', b'fi_FI'), (b'fil_PH', b'fil_PH'), (b'fo_FO', b'fo_FO'), (b'fr_BE', b'fr_BE'), (b'fr_CA', b'fr_CA'), (b'fr_CH', b'fr_CH'), (b'fr_FR', b'fr_FR'), (b'fr_LU', b'fr_LU'), (b'fr_MC', b'fr_MC'), (b'fy_NL', b'fy_NL'), (b'ga_IE', b'ga_IE'), (b'gbz_AF', b'gbz_AF'), (b'gl_ES', b'gl_ES'), (b'gsw_FR', b'gsw_FR'), (b'gu_IN', b'gu_IN'), (b'ha_NG', b'ha_NG'), (b'he_IL', b'he_IL'), (b'hi_IN', b'hi_IN'), (b'hr_BA', b'hr_BA'), (b'hr_HR', b'hr_HR'), (b'hu_HU', b'hu_HU'), (b'hy_AM', b'hy_AM'), (b'id_ID', b'id_ID'), (b'ii_CN', b'ii_CN'), (b'is_IS', b'is_IS'), (b'it_CH', b'it_CH'), (b'it_IT', b'it_IT'), (b'iu_CA', b'iu_CA'), (b'iu_CA', b'iu_CA'), (b'ja_JP', b'ja_JP'), (b'ka_GE', b'ka_GE'), (b'kh_KH', b'kh_KH'), (b'kk_KZ', b'kk_KZ'), (b'kl_GL', b'kl_GL'), (b'kn_IN', b'kn_IN'), (b'ko_KR', b'ko_KR'), (b'kok_IN', b'kok_IN'), (b'ky_KG', b'ky_KG'), (b'lb_LU', b'lb_LU'), (b'lo_LA', b'lo_LA'), (b'lt_LT', b'lt_LT'), (b'lv_LV', b'lv_LV'), (b'mi_NZ', b'mi_NZ'), (b'mk_MK', b'mk_MK'), (b'ml_IN', b'ml_IN'), (b'mn_CN', b'mn_CN'), (b'mn_MN', b'mn_MN'), (b'moh_CA', b'moh_CA'), (b'mr_IN', b'mr_IN'), (b'ms_BN', b'ms_BN'), (b'ms_MY', b'ms_MY'), (b'mt_MT', b'mt_MT'), (b'nb_NO', b'nb_NO'), (b'ne_NP', b'ne_NP'), (b'nl_BE', b'nl_BE'), (b'nl_NL', b'nl_NL'), (b'nn_NO', b'nn_NO'), (b'ns_ZA', b'ns_ZA'), (b'oc_FR', b'oc_FR'), (b'or_IN', b'or_IN'), (b'pa_IN', b'pa_IN'), (b'pl_PL', b'pl_PL'), (b'ps_AF', b'ps_AF'), (b'pt_BR', b'pt_BR'), (b'pt_PT', b'pt_PT'), (b'qut_GT', b'qut_GT'), (b'quz_BO', b'quz_BO'), (b'quz_EC', b'quz_EC'), (b'quz_PE', b'quz_PE'), (b'rm_CH', b'rm_CH'), (b'ro_RO', b'ro_RO'), (b'ru_RU', b'ru_RU'), (b'rw_RW', b'rw_RW'), (b'sa_IN', b'sa_IN'), (b'sah_RU', b'sah_RU'), (b'se_FI', b'se_FI'), (b'se_NO', b'se_NO'), (b'se_SE', b'se_SE'), (b'si_LK', b'si_LK'), (b'sk_SK', b'sk_SK'), (b'sl_SI', b'sl_SI'), (b'sma_NO', b'sma_NO'), (b'sma_SE', b'sma_SE'), (b'smj_NO', b'smj_NO'), (b'smj_SE', b'smj_SE'), (b'smn_FI', b'smn_FI'), (b'sms_FI', b'sms_FI'), (b'sq_AL', b'sq_AL'), (b'sr_BA', b'sr_BA'), (b'sr_BA', b'sr_BA'), (b'sr_SP', b'sr_SP'), (b'sr_SP', b'sr_SP'), (b'sv_FI', b'sv_FI'), (b'sv_SE', b'sv_SE'), (b'sw_KE', b'sw_KE'), (b'syr_SY', b'syr_SY'), (b'ta_IN', b'ta_IN'), (b'te_IN', b'te_IN'), (b'tg_TJ', b'tg_TJ'), (b'th_TH', b'th_TH'), (b'tk_TM', b'tk_TM'), (b'tmz_DZ', b'tmz_DZ'), (b'tn_ZA', b'tn_ZA'), (b'tr_TR', b'tr_TR'), (b'tt_RU', b'tt_RU'), (b'ug_CN', b'ug_CN'), (b'uk_UA', b'uk_UA'), (b'ur_IN', b'ur_IN'), (b'ur_PK', b'ur_PK'), (b'uz_UZ', b'uz_UZ'), (b'uz_UZ', b'uz_UZ'), (b'vi_VN', b'vi_VN'), (b'wen_DE', b'wen_DE'), (b'wo_SN', b'wo_SN'), (b'xh_ZA', b'xh_ZA'), (b'yo_NG', b'yo_NG'), (b'zh_CHS', b'zh_CHS'), (b'zh_CHT', b'zh_CHT'), (b'zh_CN', b'zh_CN'), (b'zh_HK', b'zh_HK'), (b'zh_MO', b'zh_MO'), (b'zh_SG', b'zh_SG'), (b'zh_TW', b'zh_TW'), (b'zu_ZA', b'zu_ZA')], default=b'fr_FR', max_length=10),
+            field=models.CharField(choices=[('af_ZA', 'af_ZA'), ('am_ET', 'am_ET'), ('ar_AE', 'ar_AE'), ('ar_BH', 'ar_BH'), ('ar_DZ', 'ar_DZ'), ('ar_EG', 'ar_EG'), ('ar_IQ', 'ar_IQ'), ('ar_JO', 'ar_JO'), ('ar_KW', 'ar_KW'), ('ar_LB', 'ar_LB'), ('ar_LY', 'ar_LY'), ('ar_MA', 'ar_MA'), ('ar_OM', 'ar_OM'), ('ar_QA', 'ar_QA'), ('ar_SA', 'ar_SA'), ('ar_SY', 'ar_SY'), ('ar_TN', 'ar_TN'), ('ar_YE', 'ar_YE'), ('arn_CL', 'arn_CL'), ('as_IN', 'as_IN'), ('az_AZ', 'az_AZ'), ('az_AZ', 'az_AZ'), ('ba_RU', 'ba_RU'), ('be_BY', 'be_BY'), ('bg_BG', 'bg_BG'), ('bn_IN', 'bn_IN'), ('bo_BT', 'bo_BT'), ('bo_CN', 'bo_CN'), ('br_FR', 'br_FR'), ('bs_BA', 'bs_BA'), ('bs_BA', 'bs_BA'), ('ca_ES', 'ca_ES'), ('co_FR', 'co_FR'), ('cs_CZ', 'cs_CZ'), ('cy_GB', 'cy_GB'), ('da_DK', 'da_DK'), ('de_AT', 'de_AT'), ('de_CH', 'de_CH'), ('de_DE', 'de_DE'), ('de_LI', 'de_LI'), ('de_LU', 'de_LU'), ('div_MV', 'div_MV'), ('dsb_DE', 'dsb_DE'), ('el_GR', 'el_GR'), ('en_AU', 'en_AU'), ('en_BZ', 'en_BZ'), ('en_CA', 'en_CA'), ('en_CB', 'en_CB'), ('en_GB', 'en_GB'), ('en_IE', 'en_IE'), ('en_IN', 'en_IN'), ('en_IN', 'en_IN'), ('en_JA', 'en_JA'), ('en_MY', 'en_MY'), ('en_NZ', 'en_NZ'), ('en_PH', 'en_PH'), ('en_TT', 'en_TT'), ('en_US', 'en_US'), ('en_ZA', 'en_ZA'), ('en_ZW', 'en_ZW'), ('es_AR', 'es_AR'), ('es_BO', 'es_BO'), ('es_CL', 'es_CL'), ('es_CO', 'es_CO'), ('es_CR', 'es_CR'), ('es_DO', 'es_DO'), ('es_EC', 'es_EC'), ('es_ES', 'es_ES'), ('es_ES', 'es_ES'), ('es_GT', 'es_GT'), ('es_HN', 'es_HN'), ('es_MX', 'es_MX'), ('es_NI', 'es_NI'), ('es_PA', 'es_PA'), ('es_PE', 'es_PE'), ('es_PR', 'es_PR'), ('es_PY', 'es_PY'), ('es_SV', 'es_SV'), ('es_UR', 'es_UR'), ('es_US', 'es_US'), ('es_VE', 'es_VE'), ('et_EE', 'et_EE'), ('eu_ES', 'eu_ES'), ('fa_IR', 'fa_IR'), ('fi_FI', 'fi_FI'), ('fil_PH', 'fil_PH'), ('fo_FO', 'fo_FO'), ('fr_BE', 'fr_BE'), ('fr_CA', 'fr_CA'), ('fr_CH', 'fr_CH'), ('fr_FR', 'fr_FR'), ('fr_LU', 'fr_LU'), ('fr_MC', 'fr_MC'), ('fy_NL', 'fy_NL'), ('ga_IE', 'ga_IE'), ('gbz_AF', 'gbz_AF'), ('gl_ES', 'gl_ES'), ('gsw_FR', 'gsw_FR'), ('gu_IN', 'gu_IN'), ('ha_NG', 'ha_NG'), ('he_IL', 'he_IL'), ('hi_IN', 'hi_IN'), ('hr_BA', 'hr_BA'), ('hr_HR', 'hr_HR'), ('hu_HU', 'hu_HU'), ('hy_AM', 'hy_AM'), ('id_ID', 'id_ID'), ('ii_CN', 'ii_CN'), ('is_IS', 'is_IS'), ('it_CH', 'it_CH'), ('it_IT', 'it_IT'), ('iu_CA', 'iu_CA'), ('iu_CA', 'iu_CA'), ('ja_JP', 'ja_JP'), ('ka_GE', 'ka_GE'), ('kh_KH', 'kh_KH'), ('kk_KZ', 'kk_KZ'), ('kl_GL', 'kl_GL'), ('kn_IN', 'kn_IN'), ('ko_KR', 'ko_KR'), ('kok_IN', 'kok_IN'), ('ky_KG', 'ky_KG'), ('lb_LU', 'lb_LU'), ('lo_LA', 'lo_LA'), ('lt_LT', 'lt_LT'), ('lv_LV', 'lv_LV'), ('mi_NZ', 'mi_NZ'), ('mk_MK', 'mk_MK'), ('ml_IN', 'ml_IN'), ('mn_CN', 'mn_CN'), ('mn_MN', 'mn_MN'), ('moh_CA', 'moh_CA'), ('mr_IN', 'mr_IN'), ('ms_BN', 'ms_BN'), ('ms_MY', 'ms_MY'), ('mt_MT', 'mt_MT'), ('nb_NO', 'nb_NO'), ('ne_NP', 'ne_NP'), ('nl_BE', 'nl_BE'), ('nl_NL', 'nl_NL'), ('nn_NO', 'nn_NO'), ('ns_ZA', 'ns_ZA'), ('oc_FR', 'oc_FR'), ('or_IN', 'or_IN'), ('pa_IN', 'pa_IN'), ('pl_PL', 'pl_PL'), ('ps_AF', 'ps_AF'), ('pt_BR', 'pt_BR'), ('pt_PT', 'pt_PT'), ('qut_GT', 'qut_GT'), ('quz_BO', 'quz_BO'), ('quz_EC', 'quz_EC'), ('quz_PE', 'quz_PE'), ('rm_CH', 'rm_CH'), ('ro_RO', 'ro_RO'), ('ru_RU', 'ru_RU'), ('rw_RW', 'rw_RW'), ('sa_IN', 'sa_IN'), ('sah_RU', 'sah_RU'), ('se_FI', 'se_FI'), ('se_NO', 'se_NO'), ('se_SE', 'se_SE'), ('si_LK', 'si_LK'), ('sk_SK', 'sk_SK'), ('sl_SI', 'sl_SI'), ('sma_NO', 'sma_NO'), ('sma_SE', 'sma_SE'), ('smj_NO', 'smj_NO'), ('smj_SE', 'smj_SE'), ('smn_FI', 'smn_FI'), ('sms_FI', 'sms_FI'), ('sq_AL', 'sq_AL'), ('sr_BA', 'sr_BA'), ('sr_BA', 'sr_BA'), ('sr_SP', 'sr_SP'), ('sr_SP', 'sr_SP'), ('sv_FI', 'sv_FI'), ('sv_SE', 'sv_SE'), ('sw_KE', 'sw_KE'), ('syr_SY', 'syr_SY'), ('ta_IN', 'ta_IN'), ('te_IN', 'te_IN'), ('tg_TJ', 'tg_TJ'), ('th_TH', 'th_TH'), ('tk_TM', 'tk_TM'), ('tmz_DZ', 'tmz_DZ'), ('tn_ZA', 'tn_ZA'), ('tr_TR', 'tr_TR'), ('tt_RU', 'tt_RU'), ('ug_CN', 'ug_CN'), ('uk_UA', 'uk_UA'), ('ur_IN', 'ur_IN'), ('ur_PK', 'ur_PK'), ('uz_UZ', 'uz_UZ'), ('uz_UZ', 'uz_UZ'), ('vi_VN', 'vi_VN'), ('wen_DE', 'wen_DE'), ('wo_SN', 'wo_SN'), ('xh_ZA', 'xh_ZA'), ('yo_NG', 'yo_NG'), ('zh_CHS', 'zh_CHS'), ('zh_CHT', 'zh_CHT'), ('zh_CN', 'zh_CN'), ('zh_HK', 'zh_HK'), ('zh_MO', 'zh_MO'), ('zh_SG', 'zh_SG'), ('zh_TW', 'zh_TW'), ('zu_ZA', 'zu_ZA')], default='fr_FR', max_length=10),
         ),
     ]
diff --git a/smash/web/migrations/0042_auto_20170613_1634.py b/smash/web/migrations/0042_auto_20170613_1634.py
index b338e918..3276fe5a 100644
--- a/smash/web/migrations/0042_auto_20170613_1634.py
+++ b/smash/web/migrations/0042_auto_20170613_1634.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='language',
             name='windows_locale_name',
-            field=models.CharField(choices=[(b'af_ZA', b'af_ZA'), (b'am_ET', b'am_ET'), (b'ar_AE', b'ar_AE'), (b'ar_BH', b'ar_BH'), (b'ar_DZ', b'ar_DZ'), (b'ar_EG', b'ar_EG'), (b'ar_IQ', b'ar_IQ'), (b'ar_JO', b'ar_JO'), (b'ar_KW', b'ar_KW'), (b'ar_LB', b'ar_LB'), (b'ar_LY', b'ar_LY'), (b'ar_MA', b'ar_MA'), (b'ar_OM', b'ar_OM'), (b'ar_QA', b'ar_QA'), (b'ar_SA', b'ar_SA'), (b'ar_SY', b'ar_SY'), (b'ar_TN', b'ar_TN'), (b'ar_YE', b'ar_YE'), (b'arn_CL', b'arn_CL'), (b'as_IN', b'as_IN'), (b'az_AZ', b'az_AZ'), (b'az_AZ', b'az_AZ'), (b'ba_RU', b'ba_RU'), (b'be_BY', b'be_BY'), (b'bg_BG', b'bg_BG'), (b'bn_IN', b'bn_IN'), (b'bo_BT', b'bo_BT'), (b'bo_CN', b'bo_CN'), (b'br_FR', b'br_FR'), (b'bs_BA', b'bs_BA'), (b'bs_BA', b'bs_BA'), (b'ca_ES', b'ca_ES'), (b'co_FR', b'co_FR'), (b'cs_CZ', b'cs_CZ'), (b'cy_GB', b'cy_GB'), (b'da_DK', b'da_DK'), (b'de_AT', b'de_AT'), (b'de_CH', b'de_CH'), (b'de_DE', b'de_DE'), (b'de_LI', b'de_LI'), (b'de_LU', b'de_LU'), (b'div_MV', b'div_MV'), (b'dsb_DE', b'dsb_DE'), (b'el_GR', b'el_GR'), (b'en_AU', b'en_AU'), (b'en_BZ', b'en_BZ'), (b'en_CA', b'en_CA'), (b'en_CB', b'en_CB'), (b'en_GB', b'en_GB'), (b'en_IE', b'en_IE'), (b'en_IN', b'en_IN'), (b'en_IN', b'en_IN'), (b'en_JA', b'en_JA'), (b'en_MY', b'en_MY'), (b'en_NZ', b'en_NZ'), (b'en_PH', b'en_PH'), (b'en_TT', b'en_TT'), (b'en_US', b'en_US'), (b'en_ZA', b'en_ZA'), (b'en_ZW', b'en_ZW'), (b'es_AR', b'es_AR'), (b'es_BO', b'es_BO'), (b'es_CL', b'es_CL'), (b'es_CO', b'es_CO'), (b'es_CR', b'es_CR'), (b'es_DO', b'es_DO'), (b'es_EC', b'es_EC'), (b'es_ES', b'es_ES'), (b'es_ES', b'es_ES'), (b'es_GT', b'es_GT'), (b'es_HN', b'es_HN'), (b'es_MX', b'es_MX'), (b'es_NI', b'es_NI'), (b'es_PA', b'es_PA'), (b'es_PE', b'es_PE'), (b'es_PR', b'es_PR'), (b'es_PY', b'es_PY'), (b'es_SV', b'es_SV'), (b'es_UR', b'es_UR'), (b'es_US', b'es_US'), (b'es_VE', b'es_VE'), (b'et_EE', b'et_EE'), (b'eu_ES', b'eu_ES'), (b'fa_IR', b'fa_IR'), (b'fi_FI', b'fi_FI'), (b'fil_PH', b'fil_PH'), (b'fo_FO', b'fo_FO'), (b'fr_BE', b'fr_BE'), (b'fr_CA', b'fr_CA'), (b'fr_CH', b'fr_CH'), (b'fr_FR', b'fr_FR'), (b'fr_LU', b'fr_LU'), (b'fr_MC', b'fr_MC'), (b'fy_NL', b'fy_NL'), (b'ga_IE', b'ga_IE'), (b'gbz_AF', b'gbz_AF'), (b'gl_ES', b'gl_ES'), (b'gsw_FR', b'gsw_FR'), (b'gu_IN', b'gu_IN'), (b'ha_NG', b'ha_NG'), (b'he_IL', b'he_IL'), (b'hi_IN', b'hi_IN'), (b'hr_BA', b'hr_BA'), (b'hr_HR', b'hr_HR'), (b'hu_HU', b'hu_HU'), (b'hy_AM', b'hy_AM'), (b'id_ID', b'id_ID'), (b'ii_CN', b'ii_CN'), (b'is_IS', b'is_IS'), (b'it_CH', b'it_CH'), (b'it_IT', b'it_IT'), (b'iu_CA', b'iu_CA'), (b'iu_CA', b'iu_CA'), (b'ja_JP', b'ja_JP'), (b'ka_GE', b'ka_GE'), (b'kh_KH', b'kh_KH'), (b'kk_KZ', b'kk_KZ'), (b'kl_GL', b'kl_GL'), (b'kn_IN', b'kn_IN'), (b'ko_KR', b'ko_KR'), (b'kok_IN', b'kok_IN'), (b'ky_KG', b'ky_KG'), (b'lb_LU', b'lb_LU'), (b'lo_LA', b'lo_LA'), (b'lt_LT', b'lt_LT'), (b'lv_LV', b'lv_LV'), (b'mi_NZ', b'mi_NZ'), (b'mk_MK', b'mk_MK'), (b'ml_IN', b'ml_IN'), (b'mn_CN', b'mn_CN'), (b'mn_MN', b'mn_MN'), (b'moh_CA', b'moh_CA'), (b'mr_IN', b'mr_IN'), (b'ms_BN', b'ms_BN'), (b'ms_MY', b'ms_MY'), (b'mt_MT', b'mt_MT'), (b'nb_NO', b'nb_NO'), (b'ne_NP', b'ne_NP'), (b'nl_BE', b'nl_BE'), (b'nl_NL', b'nl_NL'), (b'nn_NO', b'nn_NO'), (b'ns_ZA', b'ns_ZA'), (b'oc_FR', b'oc_FR'), (b'or_IN', b'or_IN'), (b'pa_IN', b'pa_IN'), (b'pl_PL', b'pl_PL'), (b'ps_AF', b'ps_AF'), (b'pt_BR', b'pt_BR'), (b'pt_PT', b'pt_PT'), (b'qut_GT', b'qut_GT'), (b'quz_BO', b'quz_BO'), (b'quz_EC', b'quz_EC'), (b'quz_PE', b'quz_PE'), (b'rm_CH', b'rm_CH'), (b'ro_RO', b'ro_RO'), (b'ru_RU', b'ru_RU'), (b'rw_RW', b'rw_RW'), (b'sa_IN', b'sa_IN'), (b'sah_RU', b'sah_RU'), (b'se_FI', b'se_FI'), (b'se_NO', b'se_NO'), (b'se_SE', b'se_SE'), (b'si_LK', b'si_LK'), (b'sk_SK', b'sk_SK'), (b'sl_SI', b'sl_SI'), (b'sma_NO', b'sma_NO'), (b'sma_SE', b'sma_SE'), (b'smj_NO', b'smj_NO'), (b'smj_SE', b'smj_SE'), (b'smn_FI', b'smn_FI'), (b'sms_FI', b'sms_FI'), (b'sq_AL', b'sq_AL'), (b'sr_BA', b'sr_BA'), (b'sr_BA', b'sr_BA'), (b'sr_SP', b'sr_SP'), (b'sr_SP', b'sr_SP'), (b'sv_FI', b'sv_FI'), (b'sv_SE', b'sv_SE'), (b'sw_KE', b'sw_KE'), (b'syr_SY', b'syr_SY'), (b'ta_IN', b'ta_IN'), (b'te_IN', b'te_IN'), (b'tg_TJ', b'tg_TJ'), (b'th_TH', b'th_TH'), (b'tk_TM', b'tk_TM'), (b'tmz_DZ', b'tmz_DZ'), (b'tn_ZA', b'tn_ZA'), (b'tr_TR', b'tr_TR'), (b'tt_RU', b'tt_RU'), (b'ug_CN', b'ug_CN'), (b'uk_UA', b'uk_UA'), (b'ur_IN', b'ur_IN'), (b'ur_PK', b'ur_PK'), (b'uz_UZ', b'uz_UZ'), (b'uz_UZ', b'uz_UZ'), (b'vi_VN', b'vi_VN'), (b'wen_DE', b'wen_DE'), (b'wo_SN', b'wo_SN'), (b'xh_ZA', b'xh_ZA'), (b'yo_NG', b'yo_NG'), (b'zh_CHS', b'zh_CHS'), (b'zh_CHT', b'zh_CHT'), (b'zh_CN', b'zh_CN'), (b'zh_HK', b'zh_HK'), (b'zh_MO', b'zh_MO'), (b'zh_SG', b'zh_SG'), (b'zh_TW', b'zh_TW'), (b'zu_ZA', b'zu_ZA')], default=b'French', max_length=10),
+            field=models.CharField(choices=[('af_ZA', 'af_ZA'), ('am_ET', 'am_ET'), ('ar_AE', 'ar_AE'), ('ar_BH', 'ar_BH'), ('ar_DZ', 'ar_DZ'), ('ar_EG', 'ar_EG'), ('ar_IQ', 'ar_IQ'), ('ar_JO', 'ar_JO'), ('ar_KW', 'ar_KW'), ('ar_LB', 'ar_LB'), ('ar_LY', 'ar_LY'), ('ar_MA', 'ar_MA'), ('ar_OM', 'ar_OM'), ('ar_QA', 'ar_QA'), ('ar_SA', 'ar_SA'), ('ar_SY', 'ar_SY'), ('ar_TN', 'ar_TN'), ('ar_YE', 'ar_YE'), ('arn_CL', 'arn_CL'), ('as_IN', 'as_IN'), ('az_AZ', 'az_AZ'), ('az_AZ', 'az_AZ'), ('ba_RU', 'ba_RU'), ('be_BY', 'be_BY'), ('bg_BG', 'bg_BG'), ('bn_IN', 'bn_IN'), ('bo_BT', 'bo_BT'), ('bo_CN', 'bo_CN'), ('br_FR', 'br_FR'), ('bs_BA', 'bs_BA'), ('bs_BA', 'bs_BA'), ('ca_ES', 'ca_ES'), ('co_FR', 'co_FR'), ('cs_CZ', 'cs_CZ'), ('cy_GB', 'cy_GB'), ('da_DK', 'da_DK'), ('de_AT', 'de_AT'), ('de_CH', 'de_CH'), ('de_DE', 'de_DE'), ('de_LI', 'de_LI'), ('de_LU', 'de_LU'), ('div_MV', 'div_MV'), ('dsb_DE', 'dsb_DE'), ('el_GR', 'el_GR'), ('en_AU', 'en_AU'), ('en_BZ', 'en_BZ'), ('en_CA', 'en_CA'), ('en_CB', 'en_CB'), ('en_GB', 'en_GB'), ('en_IE', 'en_IE'), ('en_IN', 'en_IN'), ('en_IN', 'en_IN'), ('en_JA', 'en_JA'), ('en_MY', 'en_MY'), ('en_NZ', 'en_NZ'), ('en_PH', 'en_PH'), ('en_TT', 'en_TT'), ('en_US', 'en_US'), ('en_ZA', 'en_ZA'), ('en_ZW', 'en_ZW'), ('es_AR', 'es_AR'), ('es_BO', 'es_BO'), ('es_CL', 'es_CL'), ('es_CO', 'es_CO'), ('es_CR', 'es_CR'), ('es_DO', 'es_DO'), ('es_EC', 'es_EC'), ('es_ES', 'es_ES'), ('es_ES', 'es_ES'), ('es_GT', 'es_GT'), ('es_HN', 'es_HN'), ('es_MX', 'es_MX'), ('es_NI', 'es_NI'), ('es_PA', 'es_PA'), ('es_PE', 'es_PE'), ('es_PR', 'es_PR'), ('es_PY', 'es_PY'), ('es_SV', 'es_SV'), ('es_UR', 'es_UR'), ('es_US', 'es_US'), ('es_VE', 'es_VE'), ('et_EE', 'et_EE'), ('eu_ES', 'eu_ES'), ('fa_IR', 'fa_IR'), ('fi_FI', 'fi_FI'), ('fil_PH', 'fil_PH'), ('fo_FO', 'fo_FO'), ('fr_BE', 'fr_BE'), ('fr_CA', 'fr_CA'), ('fr_CH', 'fr_CH'), ('fr_FR', 'fr_FR'), ('fr_LU', 'fr_LU'), ('fr_MC', 'fr_MC'), ('fy_NL', 'fy_NL'), ('ga_IE', 'ga_IE'), ('gbz_AF', 'gbz_AF'), ('gl_ES', 'gl_ES'), ('gsw_FR', 'gsw_FR'), ('gu_IN', 'gu_IN'), ('ha_NG', 'ha_NG'), ('he_IL', 'he_IL'), ('hi_IN', 'hi_IN'), ('hr_BA', 'hr_BA'), ('hr_HR', 'hr_HR'), ('hu_HU', 'hu_HU'), ('hy_AM', 'hy_AM'), ('id_ID', 'id_ID'), ('ii_CN', 'ii_CN'), ('is_IS', 'is_IS'), ('it_CH', 'it_CH'), ('it_IT', 'it_IT'), ('iu_CA', 'iu_CA'), ('iu_CA', 'iu_CA'), ('ja_JP', 'ja_JP'), ('ka_GE', 'ka_GE'), ('kh_KH', 'kh_KH'), ('kk_KZ', 'kk_KZ'), ('kl_GL', 'kl_GL'), ('kn_IN', 'kn_IN'), ('ko_KR', 'ko_KR'), ('kok_IN', 'kok_IN'), ('ky_KG', 'ky_KG'), ('lb_LU', 'lb_LU'), ('lo_LA', 'lo_LA'), ('lt_LT', 'lt_LT'), ('lv_LV', 'lv_LV'), ('mi_NZ', 'mi_NZ'), ('mk_MK', 'mk_MK'), ('ml_IN', 'ml_IN'), ('mn_CN', 'mn_CN'), ('mn_MN', 'mn_MN'), ('moh_CA', 'moh_CA'), ('mr_IN', 'mr_IN'), ('ms_BN', 'ms_BN'), ('ms_MY', 'ms_MY'), ('mt_MT', 'mt_MT'), ('nb_NO', 'nb_NO'), ('ne_NP', 'ne_NP'), ('nl_BE', 'nl_BE'), ('nl_NL', 'nl_NL'), ('nn_NO', 'nn_NO'), ('ns_ZA', 'ns_ZA'), ('oc_FR', 'oc_FR'), ('or_IN', 'or_IN'), ('pa_IN', 'pa_IN'), ('pl_PL', 'pl_PL'), ('ps_AF', 'ps_AF'), ('pt_BR', 'pt_BR'), ('pt_PT', 'pt_PT'), ('qut_GT', 'qut_GT'), ('quz_BO', 'quz_BO'), ('quz_EC', 'quz_EC'), ('quz_PE', 'quz_PE'), ('rm_CH', 'rm_CH'), ('ro_RO', 'ro_RO'), ('ru_RU', 'ru_RU'), ('rw_RW', 'rw_RW'), ('sa_IN', 'sa_IN'), ('sah_RU', 'sah_RU'), ('se_FI', 'se_FI'), ('se_NO', 'se_NO'), ('se_SE', 'se_SE'), ('si_LK', 'si_LK'), ('sk_SK', 'sk_SK'), ('sl_SI', 'sl_SI'), ('sma_NO', 'sma_NO'), ('sma_SE', 'sma_SE'), ('smj_NO', 'smj_NO'), ('smj_SE', 'smj_SE'), ('smn_FI', 'smn_FI'), ('sms_FI', 'sms_FI'), ('sq_AL', 'sq_AL'), ('sr_BA', 'sr_BA'), ('sr_BA', 'sr_BA'), ('sr_SP', 'sr_SP'), ('sr_SP', 'sr_SP'), ('sv_FI', 'sv_FI'), ('sv_SE', 'sv_SE'), ('sw_KE', 'sw_KE'), ('syr_SY', 'syr_SY'), ('ta_IN', 'ta_IN'), ('te_IN', 'te_IN'), ('tg_TJ', 'tg_TJ'), ('th_TH', 'th_TH'), ('tk_TM', 'tk_TM'), ('tmz_DZ', 'tmz_DZ'), ('tn_ZA', 'tn_ZA'), ('tr_TR', 'tr_TR'), ('tt_RU', 'tt_RU'), ('ug_CN', 'ug_CN'), ('uk_UA', 'uk_UA'), ('ur_IN', 'ur_IN'), ('ur_PK', 'ur_PK'), ('uz_UZ', 'uz_UZ'), ('uz_UZ', 'uz_UZ'), ('vi_VN', 'vi_VN'), ('wen_DE', 'wen_DE'), ('wo_SN', 'wo_SN'), ('xh_ZA', 'xh_ZA'), ('yo_NG', 'yo_NG'), ('zh_CHS', 'zh_CHS'), ('zh_CHT', 'zh_CHT'), ('zh_CN', 'zh_CN'), ('zh_HK', 'zh_HK'), ('zh_MO', 'zh_MO'), ('zh_SG', 'zh_SG'), ('zh_TW', 'zh_TW'), ('zu_ZA', 'zu_ZA')], default='French', max_length=10),
         ),
     ]
diff --git a/smash/web/migrations/0043_auto_20170904_1240.py b/smash/web/migrations/0043_auto_20170904_1240.py
index 6d34956b..878d593e 100644
--- a/smash/web/migrations/0043_auto_20170904_1240.py
+++ b/smash/web/migrations/0043_auto_20170904_1240.py
@@ -26,16 +26,16 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='availability',
             name='available_from',
-            field=models.TimeField(verbose_name=b'Available from'),
+            field=models.TimeField(verbose_name='Available from'),
         ),
         migrations.AlterField(
             model_name='availability',
             name='available_till',
-            field=models.TimeField(default=d, verbose_name=b'Available until'),
+            field=models.TimeField(default=d, verbose_name='Available until'),
         ),
         migrations.AlterField(
             model_name='availability',
             name='day_number',
-            field=models.IntegerField(choices=[(1, b'MONDAY'), (2, b'TUESDAY'), (3, b'WEDNESDAY'), (4, b'THURSDAY'), (5, b'FRIDAY'), (6, b'SATURDAY'), (7, b'SUNDAY')], verbose_name=b'Day of the week'),
+            field=models.IntegerField(choices=[(1, 'MONDAY'), (2, 'TUESDAY'), (3, 'WEDNESDAY'), (4, 'THURSDAY'), (5, 'FRIDAY'), (6, 'SATURDAY'), (7, 'SUNDAY')], verbose_name='Day of the week'),
         ),
     ]
diff --git a/smash/web/migrations/0044_auto_20170904_1602.py b/smash/web/migrations/0044_auto_20170904_1602.py
index 8f020d02..8d7b72b2 100644
--- a/smash/web/migrations/0044_auto_20170904_1602.py
+++ b/smash/web/migrations/0044_auto_20170904_1602.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='availability',
             name='available_till',
-            field=models.TimeField(verbose_name=b'Available until'),
+            field=models.TimeField(verbose_name='Available until'),
         ),
     ]
diff --git a/smash/web/migrations/0045_holiday_info.py b/smash/web/migrations/0045_holiday_info.py
index 523998c2..551c53b1 100644
--- a/smash/web/migrations/0045_holiday_info.py
+++ b/smash/web/migrations/0045_holiday_info.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='holiday',
             name='info',
-            field=models.TextField(blank=True, max_length=2000, verbose_name=b'Comments'),
+            field=models.TextField(blank=True, max_length=2000, verbose_name='Comments'),
         ),
     ]
diff --git a/smash/web/migrations/0046_subject_flying_team.py b/smash/web/migrations/0046_subject_flying_team.py
index c8ba8a8e..200e52e5 100644
--- a/smash/web/migrations/0046_subject_flying_team.py
+++ b/smash/web/migrations/0046_subject_flying_team.py
@@ -16,6 +16,6 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='subject',
             name='flying_team',
-            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='web.FlyingTeam', verbose_name=b'Flying team (if applicable)'),
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='web.FlyingTeam', verbose_name='Flying team (if applicable)'),
         ),
     ]
diff --git a/smash/web/migrations/0048_auto_20170911_1504.py b/smash/web/migrations/0048_auto_20170911_1504.py
index 34fcc07d..1d4f890a 100644
--- a/smash/web/migrations/0048_auto_20170911_1504.py
+++ b/smash/web/migrations/0048_auto_20170911_1504.py
@@ -16,6 +16,6 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='subject',
             name='flying_team',
-            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='web.FlyingTeam', verbose_name=b'Default flying team location (if applicable)'),
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='web.FlyingTeam', verbose_name='Default flying team location (if applicable)'),
         ),
     ]
diff --git a/smash/web/migrations/0049_auto_20170912_1438.py b/smash/web/migrations/0049_auto_20170912_1438.py
index f6c8c021..17d2af04 100644
--- a/smash/web/migrations/0049_auto_20170912_1438.py
+++ b/smash/web/migrations/0049_auto_20170912_1438.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='configurationitem',
             name='name',
-            field=models.CharField(editable=False, max_length=255, verbose_name=b'Name'),
+            field=models.CharField(editable=False, max_length=255, verbose_name='Name'),
         ),
     ]
diff --git a/smash/web/migrations/0051_missingsubject.py b/smash/web/migrations/0051_missingsubject.py
index 1d443d1e..a00459a6 100644
--- a/smash/web/migrations/0051_missingsubject.py
+++ b/smash/web/migrations/0051_missingsubject.py
@@ -17,10 +17,10 @@ class Migration(migrations.Migration):
             name='MissingSubject',
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('ignore', models.BooleanField(default=False, verbose_name=b'Ignore missing subject')),
-                ('redcap_id', models.CharField(blank=True, max_length=255, null=True, verbose_name=b'RED Cap id')),
-                ('redcap_url', models.CharField(blank=True, max_length=255, null=True, verbose_name=b'URL to RED Cap subject')),
-                ('subject', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='web.Subject', verbose_name=b'Subject')),
+                ('ignore', models.BooleanField(default=False, verbose_name='Ignore missing subject')),
+                ('redcap_id', models.CharField(blank=True, max_length=255, null=True, verbose_name='RED Cap id')),
+                ('redcap_url', models.CharField(blank=True, max_length=255, null=True, verbose_name='URL to RED Cap subject')),
+                ('subject', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='web.Subject', verbose_name='Subject')),
             ],
         ),
     ]
diff --git a/smash/web/migrations/0052_auto_20170913_0943.py b/smash/web/migrations/0052_auto_20170913_0943.py
index 0d15c417..dcfd06d1 100644
--- a/smash/web/migrations/0052_auto_20170913_0943.py
+++ b/smash/web/migrations/0052_auto_20170913_0943.py
@@ -17,23 +17,23 @@ class Migration(migrations.Migration):
             name='InconsistentField',
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('name', models.CharField(max_length=255, verbose_name=b'Field name')),
-                ('smash_value', models.CharField(max_length=255, verbose_name=b'Smash value')),
-                ('redcap_value', models.CharField(max_length=255, verbose_name=b'RED Cap value')),
+                ('name', models.CharField(max_length=255, verbose_name='Field name')),
+                ('smash_value', models.CharField(max_length=255, verbose_name='Smash value')),
+                ('redcap_value', models.CharField(max_length=255, verbose_name='RED Cap value')),
             ],
         ),
         migrations.CreateModel(
             name='InconsistentSubject',
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('ignore', models.BooleanField(default=False, verbose_name=b'Ignore missing subject')),
-                ('redcap_url', models.CharField(blank=True, max_length=255, null=True, verbose_name=b'URL to RED Cap subject')),
-                ('subject', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='web.Subject', verbose_name=b'Subject')),
+                ('ignore', models.BooleanField(default=False, verbose_name='Ignore missing subject')),
+                ('redcap_url', models.CharField(blank=True, max_length=255, null=True, verbose_name='URL to RED Cap subject')),
+                ('subject', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='web.Subject', verbose_name='Subject')),
             ],
         ),
         migrations.AddField(
             model_name='inconsistentfield',
             name='inconsistent_subject',
-            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.InconsistentSubject', verbose_name=b'Invalid fields'),
+            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.InconsistentSubject', verbose_name='Invalid fields'),
         ),
     ]
diff --git a/smash/web/migrations/0053_auto_20170913_0948.py b/smash/web/migrations/0053_auto_20170913_0948.py
index 710e47e5..7bf812d5 100644
--- a/smash/web/migrations/0053_auto_20170913_0948.py
+++ b/smash/web/migrations/0053_auto_20170913_0948.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='subject',
             name='nd_number',
-            field=models.CharField(blank=True, max_length=25, verbose_name=b'ND number'),
+            field=models.CharField(blank=True, max_length=25, verbose_name='ND number'),
         ),
     ]
diff --git a/smash/web/migrations/0055_auto_20170925_0905.py b/smash/web/migrations/0055_auto_20170925_0905.py
index c2859add..2620faab 100644
--- a/smash/web/migrations/0055_auto_20170925_0905.py
+++ b/smash/web/migrations/0055_auto_20170925_0905.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='subject',
             name='datetime_contact_reminder',
-            field=models.DateTimeField(blank=True, null=True, verbose_name=b'Please make a contact on'),
+            field=models.DateTimeField(blank=True, null=True, verbose_name='Please make a contact on'),
         ),
     ]
diff --git a/smash/web/migrations/0056_visit_visit_number.py b/smash/web/migrations/0056_visit_visit_number.py
index 4317c86b..9524a508 100644
--- a/smash/web/migrations/0056_visit_visit_number.py
+++ b/smash/web/migrations/0056_visit_visit_number.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='visit',
             name='visit_number',
-            field=models.IntegerField(default=1, verbose_name=b'Visit number'),
+            field=models.IntegerField(default=1, verbose_name='Visit number'),
         ),
     ]
diff --git a/smash/web/migrations/0059_subject_country_2.py b/smash/web/migrations/0059_subject_country_2.py
index 9b0e2190..97d023bb 100644
--- a/smash/web/migrations/0059_subject_country_2.py
+++ b/smash/web/migrations/0059_subject_country_2.py
@@ -16,6 +16,6 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='subject',
             name='country_2',
-            field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='web.Country', verbose_name=b'Country'),
+            field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='web.Country', verbose_name='Country'),
         ),
     ]
diff --git a/smash/web/migrations/0062_subject_resign_reason.py b/smash/web/migrations/0062_subject_resign_reason.py
index 92635ff0..0c61334c 100644
--- a/smash/web/migrations/0062_subject_resign_reason.py
+++ b/smash/web/migrations/0062_subject_resign_reason.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='subject',
             name='resign_reason',
-            field=models.TextField(blank=True, max_length=2000, verbose_name=b'Resign reason'),
+            field=models.TextField(blank=True, max_length=2000, verbose_name='Resign reason'),
         ),
     ]
diff --git a/smash/web/migrations/0063_auto_20171120_1429.py b/smash/web/migrations/0063_auto_20171120_1429.py
index 7f3ba247..258a40e7 100644
--- a/smash/web/migrations/0063_auto_20171120_1429.py
+++ b/smash/web/migrations/0063_auto_20171120_1429.py
@@ -16,6 +16,6 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='subject',
             name='nd_number',
-            field=models.CharField(blank=True, max_length=25, validators=[django.core.validators.RegexValidator(b'^(ND[0-9]{4}|)$', message=b'ND number should look as follows: NDxxxx')], verbose_name=b'ND number'),
+            field=models.CharField(blank=True, max_length=25, validators=[django.core.validators.RegexValidator('^(ND[0-9]{4}|)$', message='ND number should look as follows: NDxxxx')], verbose_name='ND number'),
         ),
     ]
diff --git a/smash/web/migrations/0065_auto_20171127_0957.py b/smash/web/migrations/0065_auto_20171127_0957.py
index 28713af2..a8e28a60 100644
--- a/smash/web/migrations/0065_auto_20171127_0957.py
+++ b/smash/web/migrations/0065_auto_20171127_0957.py
@@ -16,6 +16,6 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='studysubject',
             name='default_written_communication_language',
-            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='studysubject_written_comunication', to='web.Language', verbose_name=b'Default language for document generation'),
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='studysubject_written_comunication', to='web.Language', verbose_name='Default language for document generation'),
         ),
     ]
diff --git a/smash/web/migrations/0067_subject.py b/smash/web/migrations/0067_subject.py
index 890b3572..0ffc0d5d 100644
--- a/smash/web/migrations/0067_subject.py
+++ b/smash/web/migrations/0067_subject.py
@@ -29,27 +29,27 @@ class Migration(migrations.Migration):
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                 ('tmp_study_subject_id', models.IntegerField()),
                 ('sex',
-                 models.CharField(choices=[(b'M', b'Male'), (b'F', b'Female')], max_length=1, verbose_name=b'Sex')),
-                ('first_name', models.CharField(max_length=50, verbose_name=b'First name')),
-                ('last_name', models.CharField(max_length=50, verbose_name=b'Last name')),
-                ('phone_number', models.CharField(blank=True, max_length=20, null=True, verbose_name=b'Phone number')),
+                 models.CharField(choices=[('M', 'Male'), ('F', 'Female')], max_length=1, verbose_name='Sex')),
+                ('first_name', models.CharField(max_length=50, verbose_name='First name')),
+                ('last_name', models.CharField(max_length=50, verbose_name='Last name')),
+                ('phone_number', models.CharField(blank=True, max_length=20, null=True, verbose_name='Phone number')),
                 ('phone_number_2',
-                 models.CharField(blank=True, max_length=20, null=True, verbose_name=b'Phone number 2')),
+                 models.CharField(blank=True, max_length=20, null=True, verbose_name='Phone number 2')),
                 ('phone_number_3',
-                 models.CharField(blank=True, max_length=20, null=True, verbose_name=b'Phone number 3')),
-                ('email', models.EmailField(blank=True, max_length=254, null=True, verbose_name=b'E-mail')),
-                ('date_born', models.DateField(blank=True, null=True, verbose_name=b'Date of birth (YYYY-MM-DD)')),
-                ('address', models.CharField(blank=True, max_length=255, verbose_name=b'Address')),
-                ('postal_code', models.CharField(blank=True, max_length=7, verbose_name=b'Postal code')),
-                ('city', models.CharField(blank=True, max_length=50, verbose_name=b'City')),
-                ('dead', models.BooleanField(default=False, verbose_name=b'Deceased')),
+                 models.CharField(blank=True, max_length=20, null=True, verbose_name='Phone number 3')),
+                ('email', models.EmailField(blank=True, max_length=254, null=True, verbose_name='E-mail')),
+                ('date_born', models.DateField(blank=True, null=True, verbose_name='Date of birth (YYYY-MM-DD)')),
+                ('address', models.CharField(blank=True, max_length=255, verbose_name='Address')),
+                ('postal_code', models.CharField(blank=True, max_length=7, verbose_name='Postal code')),
+                ('city', models.CharField(blank=True, max_length=50, verbose_name='City')),
+                ('dead', models.BooleanField(default=False, verbose_name='Deceased')),
                 ('country', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='web.Country',
-                                              verbose_name=b'Country')),
+                                              verbose_name='Country')),
                 ('default_written_communication_language',
                  models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE,
                                    related_name='subjects_written_communication', to='web.Language',
-                                   verbose_name=b'Default language for document generation')),
-                ('languages', models.ManyToManyField(blank=True, to='web.Language', verbose_name=b'Known languages')),
+                                   verbose_name='Default language for document generation')),
+                ('languages', models.ManyToManyField(blank=True, to='web.Language', verbose_name='Known languages')),
             ],
         ),
         migrations.RunSQL('insert into web_subject (tmp_study_subject_id, sex, first_name, last_name, phone_number, ' +
@@ -62,7 +62,7 @@ class Migration(migrations.Migration):
             model_name='studysubject',
             name='subject',
             field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='web.Subject',
-                                    verbose_name=b'Subject'),
+                                    verbose_name='Subject'),
         ),
         migrations.RunSQL('update web_studysubject set subject_id = ' +
                           '(select id from web_subject where tmp_study_subject_id =web_studysubject.id);'),
@@ -74,6 +74,6 @@ class Migration(migrations.Migration):
             model_name='studysubject',
             name='subject',
             field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.Subject',
-                                    verbose_name=b'Subject'),
+                                    verbose_name='Subject'),
         ),
     ]
diff --git a/smash/web/migrations/0071_auto_20171130_1607.py b/smash/web/migrations/0071_auto_20171130_1607.py
index 6915cb10..747a8ee9 100644
--- a/smash/web/migrations/0071_auto_20171130_1607.py
+++ b/smash/web/migrations/0071_auto_20171130_1607.py
@@ -27,26 +27,26 @@ class Migration(migrations.Migration):
             name='Study',
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('name', models.CharField(max_length=255, verbose_name=b'Name')),
+                ('name', models.CharField(max_length=255, verbose_name='Name')),
             ],
         ),
         migrations.AlterField(
             model_name='studysubject',
             name='subject',
             field=models.ForeignKey(editable=False, on_delete=django.db.models.deletion.CASCADE, to='web.Subject',
-                                    verbose_name=b'Subject'),
+                                    verbose_name='Subject'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='study',
             field=models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE,
-                                    to='web.Study', verbose_name=b'Study'),
+                                    to='web.Study', verbose_name='Study'),
         ),
         migrations.RunPython(create_default_study),
         migrations.AlterField(
             model_name='studysubject',
             name='study',
-            field=models.ForeignKey(default=1, editable=False, on_delete=django.db.models.deletion.CASCADE, to='web.Study', verbose_name=b'Study'),
+            field=models.ForeignKey(default=1, editable=False, on_delete=django.db.models.deletion.CASCADE, to='web.Study', verbose_name='Study'),
             preserve_default=False,
         ),
 
diff --git a/smash/web/migrations/0072_auto_20171201_1013.py b/smash/web/migrations/0072_auto_20171201_1013.py
index 2067c07e..cd9e93f7 100644
--- a/smash/web/migrations/0072_auto_20171201_1013.py
+++ b/smash/web/migrations/0072_auto_20171201_1013.py
@@ -27,22 +27,22 @@ class Migration(migrations.Migration):
             name='StudyColumns',
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('postponed', models.BooleanField(choices=[(True, b'Yes'), (False, b'No')], default=True, verbose_name=b'Postponed')),
-                ('datetime_contact_reminder', models.BooleanField(choices=[(True, b'Yes'), (False, b'No')], default=True, verbose_name=b'Please make a contact on')),
-                ('type', models.BooleanField(choices=[(True, b'Yes'), (False, b'No')], default=True, verbose_name=b'Type')),
-                ('default_location', models.BooleanField(choices=[(True, b'Yes'), (False, b'No')], default=True, verbose_name=b'Default appointment location')),
-                ('flying_team', models.BooleanField(choices=[(True, b'Yes'), (False, b'No')], default=True, verbose_name=b'Default flying team location (if applicable)')),
-                ('screening_number', models.BooleanField(choices=[(True, b'Yes'), (False, b'No')], default=True, verbose_name=b'Screening number')),
-                ('nd_number', models.BooleanField(choices=[(True, b'Yes'), (False, b'No')], default=True, verbose_name=b'ND number')),
-                ('mpower_id', models.BooleanField(choices=[(True, b'Yes'), (False, b'No')], default=True, verbose_name=b'MPower ID')),
-                ('comments', models.BooleanField(choices=[(True, b'Yes'), (False, b'No')], default=True, verbose_name=b'Comments')),
-                ('referral', models.BooleanField(choices=[(True, b'Yes'), (False, b'No')], default=True, verbose_name=b'Referred by')),
-                ('diagnosis', models.BooleanField(choices=[(True, b'Yes'), (False, b'No')], default=True, verbose_name=b'Diagnosis')),
-                ('year_of_diagnosis', models.BooleanField(choices=[(True, b'Yes'), (False, b'No')], default=True, verbose_name=b'Year of diagnosis (YYYY)')),
-                ('information_sent', models.BooleanField(choices=[(True, b'Yes'), (False, b'No')], default=True, verbose_name=b'Information sent')),
-                ('pd_in_family', models.BooleanField(choices=[(True, b'Yes'), (False, b'No')], default=True, verbose_name=b'PD in family')),
-                ('resigned', models.BooleanField(choices=[(True, b'Yes'), (False, b'No')], default=True, verbose_name=b'Resigned')),
-                ('resign_reason', models.BooleanField(choices=[(True, b'Yes'), (False, b'No')], default=True, verbose_name=b'Resign reason')),
+                ('postponed', models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=True, verbose_name='Postponed')),
+                ('datetime_contact_reminder', models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=True, verbose_name='Please make a contact on')),
+                ('type', models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=True, verbose_name='Type')),
+                ('default_location', models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=True, verbose_name='Default appointment location')),
+                ('flying_team', models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=True, verbose_name='Default flying team location (if applicable)')),
+                ('screening_number', models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=True, verbose_name='Screening number')),
+                ('nd_number', models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=True, verbose_name='ND number')),
+                ('mpower_id', models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=True, verbose_name='MPower ID')),
+                ('comments', models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=True, verbose_name='Comments')),
+                ('referral', models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=True, verbose_name='Referred by')),
+                ('diagnosis', models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=True, verbose_name='Diagnosis')),
+                ('year_of_diagnosis', models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=True, verbose_name='Year of diagnosis (YYYY)')),
+                ('information_sent', models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=True, verbose_name='Information sent')),
+                ('pd_in_family', models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=True, verbose_name='PD in family')),
+                ('resigned', models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=True, verbose_name='Resigned')),
+                ('resign_reason', models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=True, verbose_name='Resign reason')),
             ],
         ),
         migrations.RunPython(create_default_study_columns),
diff --git a/smash/web/migrations/0073_auto_20171201_1034.py b/smash/web/migrations/0073_auto_20171201_1034.py
index dc180222..59d5f473 100644
--- a/smash/web/migrations/0073_auto_20171201_1034.py
+++ b/smash/web/migrations/0073_auto_20171201_1034.py
@@ -16,6 +16,6 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='studysubject',
             name='default_location',
-            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='web.Location', verbose_name=b'Default appointment location'),
+            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='web.Location', verbose_name='Default appointment location'),
         ),
     ]
diff --git a/smash/web/migrations/0074_auto_20171201_1038.py b/smash/web/migrations/0074_auto_20171201_1038.py
index 57057183..5462aa1a 100644
--- a/smash/web/migrations/0074_auto_20171201_1038.py
+++ b/smash/web/migrations/0074_auto_20171201_1038.py
@@ -16,6 +16,6 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='studysubject',
             name='default_location',
-            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='web.Location', verbose_name=b'Default appointment location'),
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='web.Location', verbose_name='Default appointment location'),
         ),
     ]
diff --git a/smash/web/migrations/0075_auto_20171201_1252.py b/smash/web/migrations/0075_auto_20171201_1252.py
index ccc941c0..535a61b2 100644
--- a/smash/web/migrations/0075_auto_20171201_1252.py
+++ b/smash/web/migrations/0075_auto_20171201_1252.py
@@ -15,16 +15,16 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='studysubject',
             name='nd_number',
-            field=models.CharField(blank=True, max_length=25, verbose_name=b'ND number'),
+            field=models.CharField(blank=True, max_length=25, verbose_name='ND number'),
         ),
         migrations.AlterField(
             model_name='studysubject',
             name='screening_number',
-            field=models.CharField(blank=True, max_length=50, null=True, verbose_name=b'Screening number'),
+            field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Screening number'),
         ),
         migrations.AlterField(
             model_name='studysubject',
             name='type',
-            field=models.CharField(blank=True, choices=[(b'P', b'PATIENT'), (b'C', b'CONTROL')], max_length=1, null=True, verbose_name=b'Type'),
+            field=models.CharField(blank=True, choices=[('P', 'PATIENT'), ('C', 'CONTROL')], max_length=1, null=True, verbose_name='Type'),
         ),
     ]
diff --git a/smash/web/migrations/0076_studysubjectlist.py b/smash/web/migrations/0076_studysubjectlist.py
index f812c319..b03bd5c0 100644
--- a/smash/web/migrations/0076_studysubjectlist.py
+++ b/smash/web/migrations/0076_studysubjectlist.py
@@ -43,9 +43,9 @@ class Migration(migrations.Migration):
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                 ('type', models.CharField(blank=True,
-                                          choices=[(b'GENERIC', b'Generic'), (b'NO_VISIT', b'Subjects without visit'),
-                                                   (b'REQUIRE_CONTACT', b'Subjects required contact')], max_length=50,
-                                          null=True, verbose_name=b'Type o list')),
+                                          choices=[('GENERIC', 'Generic'), ('NO_VISIT', 'Subjects without visit'),
+                                                   ('REQUIRE_CONTACT', 'Subjects required contact')], max_length=50,
+                                          null=True, verbose_name='Type o list')),
                 ('study', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.Study')),
                 ('visible_columns',
                  models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.StudyColumns')),
diff --git a/smash/web/migrations/0077_subjectcolumns.py b/smash/web/migrations/0077_subjectcolumns.py
index 304dfe79..fabac0d3 100644
--- a/smash/web/migrations/0077_subjectcolumns.py
+++ b/smash/web/migrations/0077_subjectcolumns.py
@@ -27,21 +27,21 @@ class Migration(migrations.Migration):
             name='SubjectColumns',
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('sex', models.BooleanField(default=False, max_length=1, verbose_name=b'Sex')),
-                ('first_name', models.BooleanField(default=True, max_length=1, verbose_name=b'First name')),
-                ('last_name', models.BooleanField(default=True, max_length=1, verbose_name=b'Last name')),
-                ('languages', models.BooleanField(default=False, max_length=1, verbose_name=b'Known languages')),
-                ('default_written_communication_language', models.BooleanField(default=False, max_length=1, verbose_name=b'Default language for document generation')),
-                ('phone_number', models.BooleanField(default=False, max_length=1, verbose_name=b'Phone number')),
-                ('phone_number_2', models.BooleanField(default=False, max_length=1, verbose_name=b'Phone number 2')),
-                ('phone_number_3', models.BooleanField(default=False, max_length=1, verbose_name=b'Phone number 3')),
-                ('email', models.BooleanField(default=False, max_length=1, verbose_name=b'E-mail')),
-                ('date_born', models.BooleanField(default=False, max_length=1, verbose_name=b'Date of birth')),
-                ('address', models.BooleanField(default=False, max_length=1, verbose_name=b'Address')),
-                ('postal_code', models.BooleanField(default=False, max_length=1, verbose_name=b'Postal code')),
-                ('city', models.BooleanField(default=False, max_length=1, verbose_name=b'City')),
-                ('country', models.BooleanField(default=False, max_length=1, verbose_name=b'Country')),
-                ('dead', models.BooleanField(default=True, max_length=1, verbose_name=b'Deceased')),
+                ('sex', models.BooleanField(default=False, max_length=1, verbose_name='Sex')),
+                ('first_name', models.BooleanField(default=True, max_length=1, verbose_name='First name')),
+                ('last_name', models.BooleanField(default=True, max_length=1, verbose_name='Last name')),
+                ('languages', models.BooleanField(default=False, max_length=1, verbose_name='Known languages')),
+                ('default_written_communication_language', models.BooleanField(default=False, max_length=1, verbose_name='Default language for document generation')),
+                ('phone_number', models.BooleanField(default=False, max_length=1, verbose_name='Phone number')),
+                ('phone_number_2', models.BooleanField(default=False, max_length=1, verbose_name='Phone number 2')),
+                ('phone_number_3', models.BooleanField(default=False, max_length=1, verbose_name='Phone number 3')),
+                ('email', models.BooleanField(default=False, max_length=1, verbose_name='E-mail')),
+                ('date_born', models.BooleanField(default=False, max_length=1, verbose_name='Date of birth')),
+                ('address', models.BooleanField(default=False, max_length=1, verbose_name='Address')),
+                ('postal_code', models.BooleanField(default=False, max_length=1, verbose_name='Postal code')),
+                ('city', models.BooleanField(default=False, max_length=1, verbose_name='City')),
+                ('country', models.BooleanField(default=False, max_length=1, verbose_name='Country')),
+                ('dead', models.BooleanField(default=True, max_length=1, verbose_name='Deceased')),
             ],
         ),
         migrations.RunPython(create_default_subject_columns),
diff --git a/smash/web/migrations/0078_auto_20171204_1040.py b/smash/web/migrations/0078_auto_20171204_1040.py
index a7553622..9f5caf5d 100644
--- a/smash/web/migrations/0078_auto_20171204_1040.py
+++ b/smash/web/migrations/0078_auto_20171204_1040.py
@@ -15,11 +15,11 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='subject',
             name='social_security_number',
-            field=models.CharField(blank=True, max_length=50, verbose_name=b'Social security_number'),
+            field=models.CharField(blank=True, max_length=50, verbose_name='Social security_number'),
         ),
         migrations.AddField(
             model_name='subjectcolumns',
             name='social_security_number',
-            field=models.BooleanField(default=False, verbose_name=b'Social security_number'),
+            field=models.BooleanField(default=False, verbose_name='Social security_number'),
         ),
     ]
diff --git a/smash/web/migrations/0079_auto_20171204_1235.py b/smash/web/migrations/0079_auto_20171204_1235.py
index e8f0588c..e5cab49b 100644
--- a/smash/web/migrations/0079_auto_20171204_1235.py
+++ b/smash/web/migrations/0079_auto_20171204_1235.py
@@ -18,23 +18,23 @@ class Migration(migrations.Migration):
             name='StudyNotificationParameters',
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('exceeded_visits_visible', models.BooleanField(default=True, verbose_name=b'exceeded visit time')),
+                ('exceeded_visits_visible', models.BooleanField(default=True, verbose_name='exceeded visit time')),
                 ('missing_redcap_subject_visible',
-                 models.BooleanField(default=True, verbose_name=b'missing RED Cap subject')),
+                 models.BooleanField(default=True, verbose_name='missing RED Cap subject')),
                 ('inconsistent_redcap_subject_visible',
-                 models.BooleanField(default=True, verbose_name=b'inconsistent RED Cap subject')),
+                 models.BooleanField(default=True, verbose_name='inconsistent RED Cap subject')),
                 ('subject_require_contact_visible',
-                 models.BooleanField(default=True, verbose_name=b'subject required contact')),
-                ('subject_no_visits_visible', models.BooleanField(default=True, verbose_name=b'subject without visit')),
-                ('unfinished_visits_visible', models.BooleanField(default=True, verbose_name=b'unfinished visits')),
+                 models.BooleanField(default=True, verbose_name='subject required contact')),
+                ('subject_no_visits_visible', models.BooleanField(default=True, verbose_name='subject without visit')),
+                ('unfinished_visits_visible', models.BooleanField(default=True, verbose_name='unfinished visits')),
                 ('visits_with_missing_appointments_visible',
-                 models.BooleanField(default=True, verbose_name=b'visits with missing appointments')),
+                 models.BooleanField(default=True, verbose_name='visits with missing appointments')),
                 ('approaching_visits_without_appointments_visible',
-                 models.BooleanField(default=True, verbose_name=b'approaching visits')),
+                 models.BooleanField(default=True, verbose_name='approaching visits')),
                 ('approaching_visits_for_mail_contact_visible',
-                 models.BooleanField(default=True, verbose_name=b'post mail for approaching visits')),
+                 models.BooleanField(default=True, verbose_name='post mail for approaching visits')),
                 ('unfinished_appointments_visible',
-                 models.BooleanField(default=True, verbose_name=b'unfinished appointments')),
+                 models.BooleanField(default=True, verbose_name='unfinished appointments')),
             ],
         )]
 
diff --git a/smash/web/migrations/0080_auto_20171204_1341.py b/smash/web/migrations/0080_auto_20171204_1341.py
index 07c8ee1a..9ca2b1b9 100644
--- a/smash/web/migrations/0080_auto_20171204_1341.py
+++ b/smash/web/migrations/0080_auto_20171204_1341.py
@@ -61,8 +61,8 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='studycolumns',
             name='datetime_contact_reminder',
-            field=models.BooleanField(choices=[(True, b'Yes'), (False, b'No')], default=True,
-                                      verbose_name=b'Last contact attempt'),
+            field=models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=True,
+                                      verbose_name='Last contact attempt'),
         )]
     if is_sqlite_db():
         operations.append(migrations.RunSQL('UPDATE web_studycolumns SET datetime_contact_reminder =0 WHERE ' +
diff --git a/smash/web/migrations/0081_studysubjectlist_last_contact_attempt.py b/smash/web/migrations/0081_studysubjectlist_last_contact_attempt.py
index c3f963b4..b4ea1f13 100644
--- a/smash/web/migrations/0081_studysubjectlist_last_contact_attempt.py
+++ b/smash/web/migrations/0081_studysubjectlist_last_contact_attempt.py
@@ -61,12 +61,12 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='studysubjectlist',
             name='visits',
-            field=models.BooleanField(default=True, verbose_name=b'Visits summary'),
+            field=models.BooleanField(default=True, verbose_name='Visits summary'),
         ),
         migrations.AddField(
             model_name='studysubjectlist',
             name='last_contact_attempt',
-            field=models.BooleanField(default=False, verbose_name=b'Last contact attempt'),
+            field=models.BooleanField(default=False, verbose_name='Last contact attempt'),
         ),
         migrations.RunPython(create_default_columns_for_SUBJECT_LIST_NO_VISIT),
     ]
diff --git a/smash/web/migrations/0083_auto_20171205_1251.py b/smash/web/migrations/0083_auto_20171205_1251.py
index 051d9c71..8ce784e1 100644
--- a/smash/web/migrations/0083_auto_20171205_1251.py
+++ b/smash/web/migrations/0083_auto_20171205_1251.py
@@ -17,7 +17,7 @@ class Migration(migrations.Migration):
             name='StudyVisitList',
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('type', models.CharField(choices=[(b'GENERIC', b'Generic')], max_length=50, verbose_name=b'Type o list')),
+                ('type', models.CharField(choices=[('GENERIC', 'Generic')], max_length=50, verbose_name='Type o list')),
                 ('study', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.Study')),
                 ('visible_subject_columns', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.SubjectColumns')),
             ],
@@ -26,11 +26,11 @@ class Migration(migrations.Migration):
             name='VisitColumns',
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('datetime_begin', models.BooleanField(choices=[(True, b'Yes'), (False, b'No')], default=True, verbose_name=b'Visit starts date')),
-                ('datetime_end', models.BooleanField(choices=[(True, b'Yes'), (False, b'No')], default=True, verbose_name=b'Visit ends date')),
-                ('is_finished', models.BooleanField(choices=[(True, b'Yes'), (False, b'No')], default=True, verbose_name=b'Is finished')),
-                ('post_mail_sent', models.BooleanField(choices=[(True, b'Yes'), (False, b'No')], default=True, verbose_name=b'Post mail sent')),
-                ('visit_number', models.BooleanField(choices=[(True, b'Yes'), (False, b'No')], default=True, verbose_name=b'Visit number')),
+                ('datetime_begin', models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=True, verbose_name='Visit starts date')),
+                ('datetime_end', models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=True, verbose_name='Visit ends date')),
+                ('is_finished', models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=True, verbose_name='Is finished')),
+                ('post_mail_sent', models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=True, verbose_name='Post mail sent')),
+                ('visit_number', models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=True, verbose_name='Visit number')),
             ],
         ),
         migrations.AddField(
diff --git a/smash/web/migrations/0084_auto_20171205_1640.py b/smash/web/migrations/0084_auto_20171205_1640.py
index 9a23ca67..f8546c48 100644
--- a/smash/web/migrations/0084_auto_20171205_1640.py
+++ b/smash/web/migrations/0084_auto_20171205_1640.py
@@ -15,17 +15,17 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='studyvisitlist',
             name='visible_appointment_types_done',
-            field=models.BooleanField(default=False, verbose_name=b'Done appointments'),
+            field=models.BooleanField(default=False, verbose_name='Done appointments'),
         ),
         migrations.AddField(
             model_name='studyvisitlist',
             name='visible_appointment_types_in_progress',
-            field=models.BooleanField(default=False, verbose_name=b'Appointments in progress'),
+            field=models.BooleanField(default=False, verbose_name='Appointments in progress'),
         ),
         migrations.AddField(
             model_name='studyvisitlist',
             name='visible_appointment_types_missing',
-            field=models.BooleanField(default=False, verbose_name=b'Missing appointments'),
+            field=models.BooleanField(default=False, verbose_name='Missing appointments'),
         ),
         migrations.AddField(
             model_name='studyvisitlist',
@@ -36,17 +36,17 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='visitcolumns',
             name='visible_appointment_types',
-            field=models.BooleanField(default=False, verbose_name=b'All appointments'),
+            field=models.BooleanField(default=False, verbose_name='All appointments'),
         ),
         migrations.AlterField(
             model_name='studyvisitlist',
             name='type',
-            field=models.CharField(choices=[(b'UNFINISHED', b'unfinished visits'),
-                                            (b'APPROACHING_WITHOUT_APPOINTMENTS', b'approaching visits'),
-                                            (b'APPROACHING_FOR_MAIL_CONTACT', b'post mail for approaching visits'),
-                                            (b'GENERIC', b'Generic'),
-                                            (b'MISSING_APPOINTMENTS', b'visits with missing appointments'),
-                                            (b'EXCEEDED_TIME', b'exceeded visit time')], max_length=50,
-                                   verbose_name=b'Type of list'),
+            field=models.CharField(choices=[('UNFINISHED', 'unfinished visits'),
+                                            ('APPROACHING_WITHOUT_APPOINTMENTS', 'approaching visits'),
+                                            ('APPROACHING_FOR_MAIL_CONTACT', 'post mail for approaching visits'),
+                                            ('GENERIC', 'Generic'),
+                                            ('MISSING_APPOINTMENTS', 'visits with missing appointments'),
+                                            ('EXCEEDED_TIME', 'exceeded visit time')], max_length=50,
+                                   verbose_name='Type of list'),
         ),
     ]
diff --git a/smash/web/migrations/0085_auto_20171205_1650.py b/smash/web/migrations/0085_auto_20171205_1650.py
index d0d6190d..baa51057 100644
--- a/smash/web/migrations/0085_auto_20171205_1650.py
+++ b/smash/web/migrations/0085_auto_20171205_1650.py
@@ -69,7 +69,7 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='studysubjectlist',
             name='type',
-            field=models.CharField(blank=True, choices=[(b'GENERIC', b'Generic'), (b'NO_VISIT', b'Subjects without visit'), (b'REQUIRE_CONTACT', b'Subjects required contact')], max_length=50, null=True, verbose_name=b'Type of list'),
+            field=models.CharField(blank=True, choices=[('GENERIC', 'Generic'), ('NO_VISIT', 'Subjects without visit'), ('REQUIRE_CONTACT', 'Subjects required contact')], max_length=50, null=True, verbose_name='Type of list'),
         ),
         migrations.RunPython(create_default_columns_for_VISIT_LIST_EXCEEDED_TIME)
     ]
diff --git a/smash/web/migrations/0088_appointmentcolumns_appointmentlist.py b/smash/web/migrations/0088_appointmentcolumns_appointmentlist.py
index 129299f9..aef3951e 100644
--- a/smash/web/migrations/0088_appointmentcolumns_appointmentlist.py
+++ b/smash/web/migrations/0088_appointmentcolumns_appointmentlist.py
@@ -17,23 +17,23 @@ class Migration(migrations.Migration):
             name='AppointmentColumns',
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('flying_team', models.BooleanField(default=False, verbose_name=b'Flying team')),
-                ('worker_assigned', models.BooleanField(default=False, verbose_name=b'Worker conducting the assessment')),
-                ('appointment_types', models.BooleanField(default=True, verbose_name=b'Appointment types')),
-                ('room', models.BooleanField(default=False, verbose_name=b'Room')),
-                ('location', models.BooleanField(default=False, verbose_name=b'Location')),
-                ('comment', models.BooleanField(default=False, verbose_name=b'Comment')),
-                ('datetime_when', models.BooleanField(default=True, verbose_name=b'Comment')),
-                ('length', models.BooleanField(default=False, verbose_name=b'Appointment length')),
-                ('status', models.BooleanField(default=False, verbose_name=b'Status')),
-                ('post_mail_sent', models.BooleanField(default=False, verbose_name=b'Post mail sent')),
+                ('flying_team', models.BooleanField(default=False, verbose_name='Flying team')),
+                ('worker_assigned', models.BooleanField(default=False, verbose_name='Worker conducting the assessment')),
+                ('appointment_types', models.BooleanField(default=True, verbose_name='Appointment types')),
+                ('room', models.BooleanField(default=False, verbose_name='Room')),
+                ('location', models.BooleanField(default=False, verbose_name='Location')),
+                ('comment', models.BooleanField(default=False, verbose_name='Comment')),
+                ('datetime_when', models.BooleanField(default=True, verbose_name='Comment')),
+                ('length', models.BooleanField(default=False, verbose_name='Appointment length')),
+                ('status', models.BooleanField(default=False, verbose_name='Status')),
+                ('post_mail_sent', models.BooleanField(default=False, verbose_name='Post mail sent')),
             ],
         ),
         migrations.CreateModel(
             name='AppointmentList',
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('type', models.CharField(choices=[(b'GENERIC', b'Generic'), (b'UNFINISHED', b'Unfinished'), (b'APPROACHING', b'Approaching')], max_length=50, verbose_name=b'Type of list')),
+                ('type', models.CharField(choices=[('GENERIC', 'Generic'), ('UNFINISHED', 'Unfinished'), ('APPROACHING', 'Approaching')], max_length=50, verbose_name='Type of list')),
                 ('study', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.Study')),
                 ('visible_appointment_columns', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.AppointmentColumns')),
                 ('visible_study_subject_columns', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.StudyColumns')),
diff --git a/smash/web/migrations/0090_vouchertype_vouchertypeprice.py b/smash/web/migrations/0090_vouchertype_vouchertypeprice.py
index 6b76896e..57c52c5a 100644
--- a/smash/web/migrations/0090_vouchertype_vouchertypeprice.py
+++ b/smash/web/migrations/0090_vouchertype_vouchertypeprice.py
@@ -17,8 +17,8 @@ class Migration(migrations.Migration):
             name='VoucherType',
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('code', models.CharField(max_length=20, verbose_name=b'Code')),
-                ('description', models.CharField(blank=True, max_length=1024, verbose_name=b'Description')),
+                ('code', models.CharField(max_length=20, verbose_name='Code')),
+                ('description', models.CharField(blank=True, max_length=1024, verbose_name='Description')),
                 ('study', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.Study')),
             ],
         ),
@@ -26,9 +26,9 @@ class Migration(migrations.Migration):
             name='VoucherTypePrice',
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('price', models.DecimalField(decimal_places=2, max_digits=6, verbose_name=b'Price')),
-                ('start_date', models.DateField(verbose_name=b'Start date')),
-                ('end_date', models.DateField(verbose_name=b'End date')),
+                ('price', models.DecimalField(decimal_places=2, max_digits=6, verbose_name='Price')),
+                ('start_date', models.DateField(verbose_name='Start date')),
+                ('end_date', models.DateField(verbose_name='End date')),
                 ('voucher_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.VoucherType')),
             ],
         ),
diff --git a/smash/web/migrations/0092_voucher.py b/smash/web/migrations/0092_voucher.py
index 27cc0e2e..64dfcc66 100644
--- a/smash/web/migrations/0092_voucher.py
+++ b/smash/web/migrations/0092_voucher.py
@@ -17,12 +17,12 @@ class Migration(migrations.Migration):
             name='Voucher',
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('number', models.CharField(max_length=10, unique=True, verbose_name=b'Number')),
-                ('issue_date', models.DateField(verbose_name=b'Issue date')),
-                ('expiry_date', models.DateField(verbose_name=b'Expiry date')),
-                ('use_date', models.DateField(verbose_name=b'Use date')),
-                ('status', models.CharField(choices=[(b'NEW', b'New'), (b'USED', b'Used'), (b'EXPIRED', b'Expired')], default=b'NEW', max_length=20, verbose_name=b'Status')),
-                ('feedback', models.TextField(blank=True, max_length=2000, verbose_name=b'Feedback')),
+                ('number', models.CharField(max_length=10, unique=True, verbose_name='Number')),
+                ('issue_date', models.DateField(verbose_name='Issue date')),
+                ('expiry_date', models.DateField(verbose_name='Expiry date')),
+                ('use_date', models.DateField(verbose_name='Use date')),
+                ('status', models.CharField(choices=[('NEW', 'New'), ('USED', 'Used'), ('EXPIRED', 'Expired')], default='NEW', max_length=20, verbose_name='Status')),
+                ('feedback', models.TextField(blank=True, max_length=2000, verbose_name='Feedback')),
                 ('study_subject', models.ForeignKey(editable=False, on_delete=django.db.models.deletion.CASCADE, to='web.StudySubject')),
                 ('usage_partner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.Worker')),
                 ('voucher_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.VoucherType')),
diff --git a/smash/web/migrations/0095_auto_20171208_1509.py b/smash/web/migrations/0095_auto_20171208_1509.py
index 77065283..bccf2368 100644
--- a/smash/web/migrations/0095_auto_20171208_1509.py
+++ b/smash/web/migrations/0095_auto_20171208_1509.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='voucher',
             name='use_date',
-            field=models.DateField(null=True, verbose_name=b'Use date'),
+            field=models.DateField(null=True, verbose_name='Use date'),
         ),
     ]
diff --git a/smash/web/migrations/0096_auto_20171208_1509.py b/smash/web/migrations/0096_auto_20171208_1509.py
index a23e3ce3..e7152153 100644
--- a/smash/web/migrations/0096_auto_20171208_1509.py
+++ b/smash/web/migrations/0096_auto_20171208_1509.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='voucher',
             name='use_date',
-            field=models.DateField(blank=True, null=True, verbose_name=b'Use date'),
+            field=models.DateField(blank=True, null=True, verbose_name='Use date'),
         ),
     ]
diff --git a/smash/web/migrations/0097_auto_20171211_1616.py b/smash/web/migrations/0097_auto_20171211_1616.py
index 852359a8..07c4be14 100644
--- a/smash/web/migrations/0097_auto_20171211_1616.py
+++ b/smash/web/migrations/0097_auto_20171211_1616.py
@@ -17,77 +17,77 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='studycolumns',
             name='health_partner',
-            field=models.BooleanField(choices=[(True, b'Yes'), (False, b'No')], default=False, verbose_name=b'Health partner'),
+            field=models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=False, verbose_name='Health partner'),
         ),
         migrations.AddField(
             model_name='studycolumns',
             name='health_partner_feedback_agreement',
-            field=models.BooleanField(choices=[(True, b'Yes'), (False, b'No')], default=False, verbose_name=b'Agrees to give information to referral'),
+            field=models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=False, verbose_name='Agrees to give information to referral'),
         ),
         migrations.AddField(
             model_name='studycolumns',
             name='previously_in_study',
-            field=models.BooleanField(choices=[(True, b'Yes'), (False, b'No')], default=False, verbose_name=b'Previously in PDP study'),
+            field=models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=False, verbose_name='Previously in PDP study'),
         ),
         migrations.AddField(
             model_name='studycolumns',
             name='referral_letter',
-            field=models.BooleanField(choices=[(True, b'Yes'), (False, b'No')], default=False, verbose_name=b'Referral letter'),
+            field=models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=False, verbose_name='Referral letter'),
         ),
         migrations.AddField(
             model_name='studycolumns',
             name='screening',
-            field=models.BooleanField(choices=[(True, b'Yes'), (False, b'No')], default=False, verbose_name=b'Screening'),
+            field=models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=False, verbose_name='Screening'),
         ),
         migrations.AddField(
             model_name='studycolumns',
             name='voucher_types',
-            field=models.BooleanField(choices=[(True, b'Yes'), (False, b'No')], default=False, verbose_name=b'Voucher types'),
+            field=models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=False, verbose_name='Voucher types'),
         ),
         migrations.AddField(
             model_name='studycolumns',
             name='vouchers',
-            field=models.BooleanField(choices=[(True, b'Yes'), (False, b'No')], default=False, verbose_name=b'Vouchers'),
+            field=models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=False, verbose_name='Vouchers'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='health_partner',
-            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='web.Worker', verbose_name=b'Health partner'),
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='web.Worker', verbose_name='Health partner'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='health_partner_feedback_agreement',
-            field=models.BooleanField(default=False, verbose_name=b'Agrees to give information to referral'),
+            field=models.BooleanField(default=False, verbose_name='Agrees to give information to referral'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='previously_in_study',
-            field=models.BooleanField(default=False, verbose_name=b'Previously in PDP study'),
+            field=models.BooleanField(default=False, verbose_name='Previously in PDP study'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='referral_letter',
-            field=models.FileField(blank=True, null=True, storage=django.core.files.storage.FileSystemStorage(location=b'uploads'), upload_to=b'referral_letters', verbose_name=b'Referral letter'),
+            field=models.FileField(blank=True, null=True, storage=django.core.files.storage.FileSystemStorage(location='uploads'), upload_to='referral_letters', verbose_name='Referral letter'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='screening',
-            field=models.CharField(blank=True, max_length=1024, null=True, verbose_name=b'Screening'),
+            field=models.CharField(blank=True, max_length=1024, null=True, verbose_name='Screening'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='voucher_types',
-            field=models.ManyToManyField(blank=True, to='web.VoucherType', verbose_name=b'Voucher types'),
+            field=models.ManyToManyField(blank=True, to='web.VoucherType', verbose_name='Voucher types'),
         ),
         migrations.AlterField(
             model_name='studycolumns',
             name='datetime_contact_reminder',
-            field=models.BooleanField(choices=[(True, b'Yes'), (False, b'No')], default=True, verbose_name=b'Please make a contact on'),
+            field=models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=True, verbose_name='Please make a contact on'),
         ),
         migrations.AlterField(
             model_name='studysubject',
             name='diagnosis',
-            field=models.CharField(blank=True, max_length=1024, null=True, verbose_name=b'Diagnosis'),
+            field=models.CharField(blank=True, max_length=1024, null=True, verbose_name='Diagnosis'),
         ),
         migrations.AlterField(
             model_name='voucher',
diff --git a/smash/web/migrations/0098_workerstudyrole.py b/smash/web/migrations/0098_workerstudyrole.py
index 1a205dae..d9336826 100644
--- a/smash/web/migrations/0098_workerstudyrole.py
+++ b/smash/web/migrations/0098_workerstudyrole.py
@@ -17,7 +17,7 @@ class Migration(migrations.Migration):
             name='WorkerStudyRole',
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('role', models.CharField(choices=[(b'DOCTOR', b'Doctor'), (b'NURSE', b'Nurse'), (b'PSYCHOLOGIST', b'Psychologist'), (b'TECHNICIAN', b'Technician'), (b'SECRETARY', b'Secretary')], max_length=20, verbose_name=b'Role')),
+                ('role', models.CharField(choices=[('DOCTOR', 'Doctor'), ('NURSE', 'Nurse'), ('PSYCHOLOGIST', 'Psychologist'), ('TECHNICIAN', 'Technician'), ('SECRETARY', 'Secretary')], max_length=20, verbose_name='Role')),
                 ('study', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.Study')),
                 ('worker', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='roles', to='web.Worker')),
             ],
diff --git a/smash/web/migrations/0099_auto_20171213_1115.py b/smash/web/migrations/0099_auto_20171213_1115.py
index 63b737a5..f926a715 100644
--- a/smash/web/migrations/0099_auto_20171213_1115.py
+++ b/smash/web/migrations/0099_auto_20171213_1115.py
@@ -15,26 +15,26 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='worker',
             name='languages',
-            field=models.ManyToManyField(blank=True, to='web.Language', verbose_name=b'Known languages'),
+            field=models.ManyToManyField(blank=True, to='web.Language', verbose_name='Known languages'),
         ),
         migrations.AlterField(
             model_name='worker',
             name='locations',
-            field=models.ManyToManyField(blank=True, to='web.Location', verbose_name=b'Locations'),
+            field=models.ManyToManyField(blank=True, to='web.Location', verbose_name='Locations'),
         ),
         migrations.AlterField(
             model_name='worker',
             name='phone_number',
-            field=models.CharField(blank=True, max_length=20, verbose_name=b'Phone number'),
+            field=models.CharField(blank=True, max_length=20, verbose_name='Phone number'),
         ),
         migrations.AlterField(
             model_name='worker',
             name='specialization',
-            field=models.CharField(blank=True, max_length=20, verbose_name=b'Specialization'),
+            field=models.CharField(blank=True, max_length=20, verbose_name='Specialization'),
         ),
         migrations.AlterField(
             model_name='worker',
             name='unit',
-            field=models.CharField(blank=True, max_length=50, verbose_name=b'Unit'),
+            field=models.CharField(blank=True, max_length=50, verbose_name='Unit'),
         ),
     ]
diff --git a/smash/web/migrations/0100_auto_20171213_1140.py b/smash/web/migrations/0100_auto_20171213_1140.py
index 85a67f9f..ae1249db 100644
--- a/smash/web/migrations/0100_auto_20171213_1140.py
+++ b/smash/web/migrations/0100_auto_20171213_1140.py
@@ -16,36 +16,36 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='worker',
             name='address',
-            field=models.CharField(blank=True, max_length=255, verbose_name=b'Address'),
+            field=models.CharField(blank=True, max_length=255, verbose_name='Address'),
         ),
         migrations.AddField(
             model_name='worker',
             name='city',
-            field=models.CharField(blank=True, max_length=50, verbose_name=b'City'),
+            field=models.CharField(blank=True, max_length=50, verbose_name='City'),
         ),
         migrations.AddField(
             model_name='worker',
             name='country',
-            field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='web.Country', verbose_name=b'Country'),
+            field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='web.Country', verbose_name='Country'),
         ),
         migrations.AddField(
             model_name='worker',
             name='fax_number',
-            field=models.CharField(blank=True, max_length=20, verbose_name=b'Fax number'),
+            field=models.CharField(blank=True, max_length=20, verbose_name='Fax number'),
         ),
         migrations.AddField(
             model_name='worker',
             name='phone_number_2',
-            field=models.CharField(blank=True, max_length=20, verbose_name=b'Phone number 2'),
+            field=models.CharField(blank=True, max_length=20, verbose_name='Phone number 2'),
         ),
         migrations.AddField(
             model_name='worker',
             name='postal_code',
-            field=models.CharField(blank=True, max_length=7, verbose_name=b'Postal code'),
+            field=models.CharField(blank=True, max_length=7, verbose_name='Postal code'),
         ),
         migrations.AddField(
             model_name='worker',
             name='voucher_types',
-            field=models.ManyToManyField(blank=True, to='web.VoucherType', verbose_name=b'Voucher types'),
+            field=models.ManyToManyField(blank=True, to='web.VoucherType', verbose_name='Voucher types'),
         ),
     ]
diff --git a/smash/web/migrations/0101_auto_20171214_1047.py b/smash/web/migrations/0101_auto_20171214_1047.py
index 530b92c8..f44dea27 100644
--- a/smash/web/migrations/0101_auto_20171214_1047.py
+++ b/smash/web/migrations/0101_auto_20171214_1047.py
@@ -15,11 +15,11 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='study',
             name='auto_create_follow_up',
-            field=models.BooleanField(default=True, verbose_name=b'Auto create follow up visit'),
+            field=models.BooleanField(default=True, verbose_name='Auto create follow up visit'),
         ),
         migrations.AlterField(
             model_name='worker',
             name='email',
-            field=models.EmailField(blank=True, max_length=254, verbose_name=b'E-mail'),
+            field=models.EmailField(blank=True, max_length=254, verbose_name='E-mail'),
         ),
     ]
diff --git a/smash/web/migrations/0102_studynotificationparameters_subject_voucher_expiry_visible.py b/smash/web/migrations/0102_studynotificationparameters_subject_voucher_expiry_visible.py
index 1c7c1b1b..9686646d 100644
--- a/smash/web/migrations/0102_studynotificationparameters_subject_voucher_expiry_visible.py
+++ b/smash/web/migrations/0102_studynotificationparameters_subject_voucher_expiry_visible.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='studynotificationparameters',
             name='subject_voucher_expiry_visible',
-            field=models.BooleanField(default=False, verbose_name=b'subject vouchers almost expired'),
+            field=models.BooleanField(default=False, verbose_name='subject vouchers almost expired'),
         ),
     ]
diff --git a/smash/web/migrations/0103_auto_20180214_1026.py b/smash/web/migrations/0103_auto_20180214_1026.py
index 41a714e8..3c92908a 100644
--- a/smash/web/migrations/0103_auto_20180214_1026.py
+++ b/smash/web/migrations/0103_auto_20180214_1026.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='studysubjectlist',
             name='type',
-            field=models.CharField(blank=True, choices=[(b'GENERIC', b'Generic'), (b'NO_VISIT', b'Subjects without visit'), (b'REQUIRE_CONTACT', b'Subjects required contact'), (b'VOUCHER_EXPIRY', b'Subject with vouchers to be expired soon')], max_length=50, null=True, verbose_name=b'Type of list'),
+            field=models.CharField(blank=True, choices=[('GENERIC', 'Generic'), ('NO_VISIT', 'Subjects without visit'), ('REQUIRE_CONTACT', 'Subjects required contact'), ('VOUCHER_EXPIRY', 'Subject with vouchers to be expired soon')], max_length=50, null=True, verbose_name='Type of list'),
         ),
     ]
diff --git a/smash/web/migrations/0110_auto_20180601_0754.py b/smash/web/migrations/0110_auto_20180601_0754.py
index 159f4492..f20b1b94 100644
--- a/smash/web/migrations/0110_auto_20180601_0754.py
+++ b/smash/web/migrations/0110_auto_20180601_0754.py
@@ -16,22 +16,22 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='worker',
             name='voucher_partner_code',
-            field=models.CharField(blank=True, max_length=10, verbose_name=b'Code'),
+            field=models.CharField(blank=True, max_length=10, verbose_name='Code'),
         ),
         migrations.AlterField(
             model_name='studysubjectlist',
             name='type',
-            field=models.CharField(blank=True, choices=[(b'GENERIC', b'Generic subject list'), (b'NO_VISIT', b'Subjects without visit'), (b'REQUIRE_CONTACT', b'Subjects required contact'), (b'VOUCHER_EXPIRY', b'Subject with vouchers to be expired soon')], max_length=50, null=True, verbose_name=b'Type of list'),
+            field=models.CharField(blank=True, choices=[('GENERIC', 'Generic subject list'), ('NO_VISIT', 'Subjects without visit'), ('REQUIRE_CONTACT', 'Subjects required contact'), ('VOUCHER_EXPIRY', 'Subject with vouchers to be expired soon')], max_length=50, null=True, verbose_name='Type of list'),
         ),
         migrations.AlterField(
             model_name='studyvisitlist',
             name='type',
-            field=models.CharField(choices=[(b'UNFINISHED', b'unfinished visits'), (b'APPROACHING_WITHOUT_APPOINTMENTS', b'approaching visits'), (b'APPROACHING_FOR_MAIL_CONTACT', b'post mail for approaching visits'), (b'GENERIC', b'Generic visit list'), (b'MISSING_APPOINTMENTS', b'visits with missing appointments'), (b'EXCEEDED_TIME', b'exceeded visit time')], max_length=50, verbose_name=b'Type of list'),
+            field=models.CharField(choices=[('UNFINISHED', 'unfinished visits'), ('APPROACHING_WITHOUT_APPOINTMENTS', 'approaching visits'), ('APPROACHING_FOR_MAIL_CONTACT', 'post mail for approaching visits'), ('GENERIC', 'Generic visit list'), ('MISSING_APPOINTMENTS', 'visits with missing appointments'), ('EXCEEDED_TIME', 'exceeded visit time')], max_length=50, verbose_name='Type of list'),
         ),
         migrations.AlterField(
             model_name='voucher',
             name='number',
-            field=models.CharField(max_length=50, unique=True, verbose_name=b'Number'),
+            field=models.CharField(max_length=50, unique=True, verbose_name='Number'),
         ),
         migrations.AlterField(
             model_name='voucher',
diff --git a/smash/web/migrations/0111_auto_20180601_1318.py b/smash/web/migrations/0111_auto_20180601_1318.py
index 2c8bc8bd..3605a90d 100644
--- a/smash/web/migrations/0111_auto_20180601_1318.py
+++ b/smash/web/migrations/0111_auto_20180601_1318.py
@@ -17,8 +17,8 @@ class Migration(migrations.Migration):
             name='VoucherPartnerSession',
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('length', models.IntegerField(verbose_name=b'Length (minutes)')),
-                ('date', models.DateTimeField(verbose_name=b'Issue date')),
+                ('length', models.IntegerField(verbose_name='Length (minutes)')),
+                ('date', models.DateTimeField(verbose_name='Issue date')),
             ],
         ),
         migrations.RemoveField(
@@ -28,12 +28,12 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='voucher',
             name='hours',
-            field=models.IntegerField(default=0, verbose_name=b'Hours'),
+            field=models.IntegerField(default=0, verbose_name='Hours'),
         ),
         migrations.AlterField(
             model_name='voucher',
             name='status',
-            field=models.CharField(choices=[(b'NEW', b'New'), (b'IN_USE', b'In use'), (b'USED', b'Used'), (b'EXPIRED', b'Expired')], default=b'NEW', max_length=20, verbose_name=b'Status'),
+            field=models.CharField(choices=[('NEW', 'New'), ('IN_USE', 'In use'), ('USED', 'Used'), ('EXPIRED', 'Expired')], default='NEW', max_length=20, verbose_name='Status'),
         ),
         migrations.AddField(
             model_name='voucherpartnersession',
diff --git a/smash/web/migrations/0112_auto_20180604_1021.py b/smash/web/migrations/0112_auto_20180604_1021.py
index f2a23b31..30dc84cd 100644
--- a/smash/web/migrations/0112_auto_20180604_1021.py
+++ b/smash/web/migrations/0112_auto_20180604_1021.py
@@ -16,7 +16,7 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='mailtemplate',
             name='context',
-            field=models.CharField(choices=[(b'A', b'Appointment'), (b'S', b'Subject'), (b'V', b'Visit'), (b'C', b'Voucher')], max_length=1),
+            field=models.CharField(choices=[('A', 'Appointment'), ('S', 'Subject'), ('V', 'Visit'), ('C', 'Voucher')], max_length=1),
         ),
         migrations.AlterField(
             model_name='mailtemplate',
diff --git a/smash/web/migrations/0115_auto_20180611_0950.py b/smash/web/migrations/0115_auto_20180611_0950.py
index ec293acf..3a32357d 100644
--- a/smash/web/migrations/0115_auto_20180611_0950.py
+++ b/smash/web/migrations/0115_auto_20180611_0950.py
@@ -16,122 +16,122 @@ class Migration(migrations.Migration):
             model_name='voucher',
             name='issue_worker',
             field=models.ForeignKey(default=0, on_delete=django.db.models.deletion.CASCADE,
-                                    related_name='issued_vouchers', to='web.Worker', verbose_name=b'Issued by'),
+                                    related_name='issued_vouchers', to='web.Worker', verbose_name='Issued by'),
             preserve_default=False,
         ),
         migrations.AlterField(
             model_name='studycolumns',
             name='comments',
-            field=models.BooleanField(default=True, verbose_name=b'Comments'),
+            field=models.BooleanField(default=True, verbose_name='Comments'),
         ),
         migrations.AlterField(
             model_name='studycolumns',
             name='datetime_contact_reminder',
-            field=models.BooleanField(default=True, verbose_name=b'Please make a contact on'),
+            field=models.BooleanField(default=True, verbose_name='Please make a contact on'),
         ),
         migrations.AlterField(
             model_name='studycolumns',
             name='default_location',
-            field=models.BooleanField(default=True, verbose_name=b'Default appointment location'),
+            field=models.BooleanField(default=True, verbose_name='Default appointment location'),
         ),
         migrations.AlterField(
             model_name='studycolumns',
             name='diagnosis',
-            field=models.BooleanField(default=True, verbose_name=b'Diagnosis'),
+            field=models.BooleanField(default=True, verbose_name='Diagnosis'),
         ),
         migrations.AlterField(
             model_name='studycolumns',
             name='flying_team',
-            field=models.BooleanField(default=True, verbose_name=b'Default flying team location (if applicable)'),
+            field=models.BooleanField(default=True, verbose_name='Default flying team location (if applicable)'),
         ),
         migrations.AlterField(
             model_name='studycolumns',
             name='health_partner',
-            field=models.BooleanField(default=False, verbose_name=b'Health partner'),
+            field=models.BooleanField(default=False, verbose_name='Health partner'),
         ),
         migrations.AlterField(
             model_name='studycolumns',
             name='health_partner_feedback_agreement',
-            field=models.BooleanField(default=False, verbose_name=b'Agrees to give information to referral'),
+            field=models.BooleanField(default=False, verbose_name='Agrees to give information to referral'),
         ),
         migrations.AlterField(
             model_name='studycolumns',
             name='information_sent',
-            field=models.BooleanField(default=True, verbose_name=b'Information sent'),
+            field=models.BooleanField(default=True, verbose_name='Information sent'),
         ),
         migrations.AlterField(
             model_name='studycolumns',
             name='mpower_id',
-            field=models.BooleanField(default=True, verbose_name=b'MPower ID'),
+            field=models.BooleanField(default=True, verbose_name='MPower ID'),
         ),
         migrations.AlterField(
             model_name='studycolumns',
             name='nd_number',
-            field=models.BooleanField(default=True, verbose_name=b'ND number'),
+            field=models.BooleanField(default=True, verbose_name='ND number'),
         ),
         migrations.AlterField(
             model_name='studycolumns',
             name='pd_in_family',
-            field=models.BooleanField(default=True, verbose_name=b'PD in family'),
+            field=models.BooleanField(default=True, verbose_name='PD in family'),
         ),
         migrations.AlterField(
             model_name='studycolumns',
             name='postponed',
-            field=models.BooleanField(default=True, verbose_name=b'Postponed'),
+            field=models.BooleanField(default=True, verbose_name='Postponed'),
         ),
         migrations.AlterField(
             model_name='studycolumns',
             name='previously_in_study',
-            field=models.BooleanField(default=False, verbose_name=b'Previously in PDP study'),
+            field=models.BooleanField(default=False, verbose_name='Previously in PDP study'),
         ),
         migrations.AlterField(
             model_name='studycolumns',
             name='referral',
-            field=models.BooleanField(default=True, verbose_name=b'Referred by'),
+            field=models.BooleanField(default=True, verbose_name='Referred by'),
         ),
         migrations.AlterField(
             model_name='studycolumns',
             name='referral_letter',
-            field=models.BooleanField(default=False, verbose_name=b'Referral letter'),
+            field=models.BooleanField(default=False, verbose_name='Referral letter'),
         ),
         migrations.AlterField(
             model_name='studycolumns',
             name='resign_reason',
-            field=models.BooleanField(default=True, verbose_name=b'Resign reason'),
+            field=models.BooleanField(default=True, verbose_name='Resign reason'),
         ),
         migrations.AlterField(
             model_name='studycolumns',
             name='resigned',
-            field=models.BooleanField(default=True, verbose_name=b'Resigned'),
+            field=models.BooleanField(default=True, verbose_name='Resigned'),
         ),
         migrations.AlterField(
             model_name='studycolumns',
             name='screening',
-            field=models.BooleanField(default=False, verbose_name=b'Screening'),
+            field=models.BooleanField(default=False, verbose_name='Screening'),
         ),
         migrations.AlterField(
             model_name='studycolumns',
             name='screening_number',
-            field=models.BooleanField(default=True, verbose_name=b'Screening number'),
+            field=models.BooleanField(default=True, verbose_name='Screening number'),
         ),
         migrations.AlterField(
             model_name='studycolumns',
             name='type',
-            field=models.BooleanField(default=True, verbose_name=b'Type'),
+            field=models.BooleanField(default=True, verbose_name='Type'),
         ),
         migrations.AlterField(
             model_name='studycolumns',
             name='voucher_types',
-            field=models.BooleanField(default=False, verbose_name=b'Voucher types'),
+            field=models.BooleanField(default=False, verbose_name='Voucher types'),
         ),
         migrations.AlterField(
             model_name='studycolumns',
             name='vouchers',
-            field=models.BooleanField(default=False, verbose_name=b'Vouchers'),
+            field=models.BooleanField(default=False, verbose_name='Vouchers'),
         ),
         migrations.AlterField(
             model_name='studycolumns',
             name='year_of_diagnosis',
-            field=models.BooleanField(default=True, verbose_name=b'Year of diagnosis (YYYY)'),
+            field=models.BooleanField(default=True, verbose_name='Year of diagnosis (YYYY)'),
         ),
     ]
diff --git a/smash/web/migrations/0116_auto_20180611_1346.py b/smash/web/migrations/0116_auto_20180611_1346.py
index 5859c5dd..63080173 100644
--- a/smash/web/migrations/0116_auto_20180611_1346.py
+++ b/smash/web/migrations/0116_auto_20180611_1346.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='studysubject',
             name='date_added',
-            field=models.DateField(auto_now_add=True, verbose_name=b'Added on'),
+            field=models.DateField(auto_now_add=True, verbose_name='Added on'),
         ),
     ]
diff --git a/smash/web/migrations/0117_auto_20180717_1434.py b/smash/web/migrations/0117_auto_20180717_1434.py
index c540dc82..cd5cae1a 100644
--- a/smash/web/migrations/0117_auto_20180717_1434.py
+++ b/smash/web/migrations/0117_auto_20180717_1434.py
@@ -15,16 +15,16 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='worker',
             name='name',
-            field=models.CharField(blank=True, default=b'', max_length=50, verbose_name=b'Name'),
+            field=models.CharField(blank=True, default='', max_length=50, verbose_name='Name'),
         ),
         migrations.AlterField(
             model_name='worker',
             name='first_name',
-            field=models.CharField(blank=True, max_length=50, verbose_name=b'First name'),
+            field=models.CharField(blank=True, max_length=50, verbose_name='First name'),
         ),
         migrations.AlterField(
             model_name='worker',
             name='last_name',
-            field=models.CharField(blank=True, max_length=50, verbose_name=b'Last name'),
+            field=models.CharField(blank=True, max_length=50, verbose_name='Last name'),
         ),
     ]
diff --git a/smash/web/migrations/0118_voucher_activity_type.py b/smash/web/migrations/0118_voucher_activity_type.py
index 06d10c16..4b2b5f02 100644
--- a/smash/web/migrations/0118_voucher_activity_type.py
+++ b/smash/web/migrations/0118_voucher_activity_type.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='voucher',
             name='activity_type',
-            field=models.CharField(blank=True, default=b'', max_length=40, verbose_name=b'Activity type'),
+            field=models.CharField(blank=True, default='', max_length=40, verbose_name='Activity type'),
         ),
     ]
diff --git a/smash/web/migrations/0119_auto_20181002_0908.py b/smash/web/migrations/0119_auto_20181002_0908.py
index e6426d41..694519ec 100644
--- a/smash/web/migrations/0119_auto_20181002_0908.py
+++ b/smash/web/migrations/0119_auto_20181002_0908.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='workerstudyrole',
             name='role',
-            field=models.CharField(choices=[(b'DOCTOR', b'Doctor'), (b'NURSE', b'Nurse'), (b'PSYCHOLOGIST', b'Psychologist'), (b'TECHNICIAN', b'Technician'), (b'SECRETARY', b'Secretary'), (b'PROJECT MANAGER', b'Project Manager')], max_length=20, verbose_name=b'Role'),
+            field=models.CharField(choices=[('DOCTOR', 'Doctor'), ('NURSE', 'Nurse'), ('PSYCHOLOGIST', 'Psychologist'), ('TECHNICIAN', 'Technician'), ('SECRETARY', 'Secretary'), ('PROJECT MANAGER', 'Project Manager')], max_length=20, verbose_name='Role'),
         ),
     ]
diff --git a/smash/web/migrations/0119_auto_20181015_1324.py b/smash/web/migrations/0119_auto_20181015_1324.py
index 7ac5d177..8a66f73d 100644
--- a/smash/web/migrations/0119_auto_20181015_1324.py
+++ b/smash/web/migrations/0119_auto_20181015_1324.py
@@ -15,11 +15,11 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='studyvisitlist',
             name='type',
-            field=models.CharField(choices=[(b'UNFINISHED', b'Unfinished visits'), (b'APPROACHING_WITHOUT_APPOINTMENTS', b'Approaching visits'), (b'APPROACHING_FOR_MAIL_CONTACT', b'Post mail for approaching visits'), (b'GENERIC', b'Generic visit list'), (b'MISSING_APPOINTMENTS', b'Visits with missing appointments'), (b'EXCEEDED_TIME', b'Exceeded visit time')], max_length=50, verbose_name=b'Type of list'),
+            field=models.CharField(choices=[('UNFINISHED', 'Unfinished visits'), ('APPROACHING_WITHOUT_APPOINTMENTS', 'Approaching visits'), ('APPROACHING_FOR_MAIL_CONTACT', 'Post mail for approaching visits'), ('GENERIC', 'Generic visit list'), ('MISSING_APPOINTMENTS', 'Visits with missing appointments'), ('EXCEEDED_TIME', 'Exceeded visit time')], max_length=50, verbose_name='Type of list'),
         ),
         migrations.AlterField(
             model_name='workerstudyrole',
             name='role',
-            field=models.CharField(choices=[(b'DOCTOR', b'Doctor'), (b'NURSE', b'Nurse'), (b'PSYCHOLOGIST', b'Psychologist'), (b'TECHNICIAN', b'Technician'), (b'SECRETARY', b'Secretary'), (b'PROJECT MANAGER', b'Project Manager')], max_length=20, verbose_name=b'Role'),
+            field=models.CharField(choices=[('DOCTOR', 'Doctor'), ('NURSE', 'Nurse'), ('PSYCHOLOGIST', 'Psychologist'), ('TECHNICIAN', 'Technician'), ('SECRETARY', 'Secretary'), ('PROJECT MANAGER', 'Project Manager')], max_length=20, verbose_name='Role'),
         ),
     ]
diff --git a/smash/web/migrations/0119_auto_20181024_1158.py b/smash/web/migrations/0119_auto_20181024_1158.py
index ff17f157..1132667f 100644
--- a/smash/web/migrations/0119_auto_20181024_1158.py
+++ b/smash/web/migrations/0119_auto_20181024_1158.py
@@ -15,11 +15,11 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='studyvisitlist',
             name='type',
-            field=models.CharField(choices=[(b'UNFINISHED', b'Unfinished visits'), (b'APPROACHING_WITHOUT_APPOINTMENTS', b'Approaching visits'), (b'APPROACHING_FOR_MAIL_CONTACT', b'Post mail for approaching visits'), (b'GENERIC', b'Generic visit list'), (b'MISSING_APPOINTMENTS', b'Visits with missing appointments'), (b'EXCEEDED_TIME', b'Exceeded visit time')], max_length=50, verbose_name=b'Type of list'),
+            field=models.CharField(choices=[('UNFINISHED', 'Unfinished visits'), ('APPROACHING_WITHOUT_APPOINTMENTS', 'Approaching visits'), ('APPROACHING_FOR_MAIL_CONTACT', 'Post mail for approaching visits'), ('GENERIC', 'Generic visit list'), ('MISSING_APPOINTMENTS', 'Visits with missing appointments'), ('EXCEEDED_TIME', 'Exceeded visit time')], max_length=50, verbose_name='Type of list'),
         ),
         migrations.AlterField(
             model_name='workerstudyrole',
             name='role',
-            field=models.CharField(choices=[(b'DOCTOR', b'Doctor'), (b'NURSE', b'Nurse'), (b'PSYCHOLOGIST', b'Psychologist'), (b'TECHNICIAN', b'Technician'), (b'SECRETARY', b'Secretary'), (b'PROJECT MANAGER', b'Project Manager')], max_length=20, verbose_name=b'Role'),
+            field=models.CharField(choices=[('DOCTOR', 'Doctor'), ('NURSE', 'Nurse'), ('PSYCHOLOGIST', 'Psychologist'), ('TECHNICIAN', 'Technician'), ('SECRETARY', 'Secretary'), ('PROJECT MANAGER', 'Project Manager')], max_length=20, verbose_name='Role'),
         ),
     ]
diff --git a/smash/web/migrations/0120_holiday_kind.py b/smash/web/migrations/0120_holiday_kind.py
index cb66217c..97e043dd 100644
--- a/smash/web/migrations/0120_holiday_kind.py
+++ b/smash/web/migrations/0120_holiday_kind.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='holiday',
             name='kind',
-            field=models.CharField(choices=[(b'H', b'Holiday'), (b'X', b'Extra Availability')], default=b'H', max_length=16),
+            field=models.CharField(choices=[('H', 'Holiday'), ('X', 'Extra Availability')], default='H', max_length=16),
         ),
     ]
diff --git a/smash/web/migrations/0120_study_nd_number_study_subject_regex.py b/smash/web/migrations/0120_study_nd_number_study_subject_regex.py
index df7c895a..5b15f27c 100644
--- a/smash/web/migrations/0120_study_nd_number_study_subject_regex.py
+++ b/smash/web/migrations/0120_study_nd_number_study_subject_regex.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='study',
             name='nd_number_study_subject_regex',
-            field=models.CharField(default=b'^ND\\d{4}$', help_text=b'Defines the regex to check the identification number used for each study subject.', max_length=255, verbose_name=b'Study Subject ND Number Regex'),
+            field=models.CharField(default='^ND\\d{4}$', help_text='Defines the regex to check the identification number used for each study subject.', max_length=255, verbose_name='Study Subject ND Number Regex'),
         ),
     ]
diff --git a/smash/web/migrations/0121_auto_20181003_1256.py b/smash/web/migrations/0121_auto_20181003_1256.py
index c2018e15..3f9b8134 100644
--- a/smash/web/migrations/0121_auto_20181003_1256.py
+++ b/smash/web/migrations/0121_auto_20181003_1256.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='holiday',
             name='kind',
-            field=models.CharField(choices=[(b'H', b'Holiday'), (b'X', b'Extra Availability')], default=b'H', help_text=b'Defines the kind of availability. Either Holiday or Extra Availability.', max_length=1),
+            field=models.CharField(choices=[('H', 'Holiday'), ('X', 'Extra Availability')], default='H', help_text='Defines the kind of availability. Either Holiday or Extra Availability.', max_length=1),
         ),
     ]
diff --git a/smash/web/migrations/0121_auto_20181024_1859.py b/smash/web/migrations/0121_auto_20181024_1859.py
index 9bb28cf0..e732ceaf 100644
--- a/smash/web/migrations/0121_auto_20181024_1859.py
+++ b/smash/web/migrations/0121_auto_20181024_1859.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='study',
             name='nd_number_study_subject_regex',
-            field=models.CharField(default=b'^ND\\d{4}$', help_text=b'Defines the regex to check the ID used for each study subject. Keep in mind that this regex should be valid for all previous study subjects in the database.', max_length=255, verbose_name=b'Study Subject ND Number Regex'),
+            field=models.CharField(default='^ND\\d{4}$', help_text='Defines the regex to check the ID used for each study subject. Keep in mind that this regex should be valid for all previous study subjects in the database.', max_length=255, verbose_name='Study Subject ND Number Regex'),
         ),
     ]
diff --git a/smash/web/migrations/0124_auto_20181017_1532.py b/smash/web/migrations/0124_auto_20181017_1532.py
index 6b473d67..19b6a5c2 100644
--- a/smash/web/migrations/0124_auto_20181017_1532.py
+++ b/smash/web/migrations/0124_auto_20181017_1532.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='studyvisitlist',
             name='type',
-            field=models.CharField(choices=[(b'UNFINISHED', b'unfinished visits'), (b'APPROACHING_WITHOUT_APPOINTMENTS', b'approaching visits'), (b'APPROACHING_FOR_MAIL_CONTACT', b'post mail for approaching visits'), (b'GENERIC', b'Generic visit list'), (b'MISSING_APPOINTMENTS', b'visits with missing appointments'), (b'EXCEEDED_TIME', b'exceeded visit time')], max_length=50, verbose_name=b'Type of list'),
+            field=models.CharField(choices=[('UNFINISHED', 'unfinished visits'), ('APPROACHING_WITHOUT_APPOINTMENTS', 'approaching visits'), ('APPROACHING_FOR_MAIL_CONTACT', 'post mail for approaching visits'), ('GENERIC', 'Generic visit list'), ('MISSING_APPOINTMENTS', 'visits with missing appointments'), ('EXCEEDED_TIME', 'exceeded visit time')], max_length=50, verbose_name='Type of list'),
         ),
     ]
diff --git a/smash/web/migrations/0126_auto_20181030_1733.py b/smash/web/migrations/0126_auto_20181030_1733.py
index 1674a5bc..d8333cf5 100644
--- a/smash/web/migrations/0126_auto_20181030_1733.py
+++ b/smash/web/migrations/0126_auto_20181030_1733.py
@@ -15,16 +15,16 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='subject',
             name='phone_number',
-            field=models.CharField(blank=True, max_length=64, null=True, verbose_name=b'Phone number'),
+            field=models.CharField(blank=True, max_length=64, null=True, verbose_name='Phone number'),
         ),
         migrations.AlterField(
             model_name='subject',
             name='phone_number_2',
-            field=models.CharField(blank=True, max_length=64, null=True, verbose_name=b'Phone number 2'),
+            field=models.CharField(blank=True, max_length=64, null=True, verbose_name='Phone number 2'),
         ),
         migrations.AlterField(
             model_name='subject',
             name='phone_number_3',
-            field=models.CharField(blank=True, max_length=64, null=True, verbose_name=b'Phone number 3'),
+            field=models.CharField(blank=True, max_length=64, null=True, verbose_name='Phone number 3'),
         ),
     ]
diff --git a/smash/web/migrations/0127_auto_20181031_0959.py b/smash/web/migrations/0127_auto_20181031_0959.py
index 4807157d..cee722cf 100644
--- a/smash/web/migrations/0127_auto_20181031_0959.py
+++ b/smash/web/migrations/0127_auto_20181031_0959.py
@@ -15,11 +15,11 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='studysubject',
             name='exclude_reason',
-            field=models.TextField(blank=True, max_length=2000, verbose_name=b'Exclude reason'),
+            field=models.TextField(blank=True, max_length=2000, verbose_name='Exclude reason'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='excluded',
-            field=models.BooleanField(default=False, verbose_name=b'Excluded'),
+            field=models.BooleanField(default=False, verbose_name='Excluded'),
         ),
     ]
diff --git a/smash/web/migrations/0128_studycolumns_excluded.py b/smash/web/migrations/0128_studycolumns_excluded.py
index b7d9b7c6..2f0e1a52 100644
--- a/smash/web/migrations/0128_studycolumns_excluded.py
+++ b/smash/web/migrations/0128_studycolumns_excluded.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='studycolumns',
             name='excluded',
-            field=models.BooleanField(default=True, verbose_name=b'Excluded'),
+            field=models.BooleanField(default=True, verbose_name='Excluded'),
         ),
     ]
diff --git a/smash/web/migrations/0129_auto_20181031_1348.py b/smash/web/migrations/0129_auto_20181031_1348.py
index 1ef867f3..b27a2313 100644
--- a/smash/web/migrations/0129_auto_20181031_1348.py
+++ b/smash/web/migrations/0129_auto_20181031_1348.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='studycolumns',
             name='excluded',
-            field=models.BooleanField(default=False, verbose_name=b'Excluded'),
+            field=models.BooleanField(default=False, verbose_name='Excluded'),
         ),
     ]
diff --git a/smash/web/migrations/0130_study_visits_to_show_in_subject_list.py b/smash/web/migrations/0130_study_visits_to_show_in_subject_list.py
index fe530019..513548ed 100644
--- a/smash/web/migrations/0130_study_visits_to_show_in_subject_list.py
+++ b/smash/web/migrations/0130_study_visits_to_show_in_subject_list.py
@@ -16,6 +16,6 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='study',
             name='visits_to_show_in_subject_list',
-            field=models.IntegerField(default=5, validators=[django.core.validators.MaxValueValidator(100), django.core.validators.MinValueValidator(1)], verbose_name=b'Number of visits to show in the subject list'),
+            field=models.IntegerField(default=5, validators=[django.core.validators.MaxValueValidator(100), django.core.validators.MinValueValidator(1)], verbose_name='Number of visits to show in the subject list'),
         ),
     ]
diff --git a/smash/web/migrations/0131_study_default_voucher_expiration_in_months.py b/smash/web/migrations/0131_study_default_voucher_expiration_in_months.py
index 2a3c7413..7e1b0e97 100644
--- a/smash/web/migrations/0131_study_default_voucher_expiration_in_months.py
+++ b/smash/web/migrations/0131_study_default_voucher_expiration_in_months.py
@@ -16,6 +16,6 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='study',
             name='default_voucher_expiration_in_months',
-            field=models.IntegerField(default=3, validators=[django.core.validators.MinValueValidator(1)], verbose_name=b'Default duration of the vouchers in months'),
+            field=models.IntegerField(default=3, validators=[django.core.validators.MinValueValidator(1)], verbose_name='Default duration of the vouchers in months'),
         ),
     ]
diff --git a/smash/web/migrations/0132_study_default_visit_duration_in_months.py b/smash/web/migrations/0132_study_default_visit_duration_in_months.py
index 02efe4ef..de941d6f 100644
--- a/smash/web/migrations/0132_study_default_visit_duration_in_months.py
+++ b/smash/web/migrations/0132_study_default_visit_duration_in_months.py
@@ -16,6 +16,6 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='study',
             name='default_visit_duration_in_months',
-            field=models.IntegerField(default=3, validators=[django.core.validators.MinValueValidator(1)], verbose_name=b'Default duration of the visits in months'),
+            field=models.IntegerField(default=3, validators=[django.core.validators.MinValueValidator(1)], verbose_name='Default duration of the visits in months'),
         ),
     ]
diff --git a/smash/web/migrations/0132_worker_comment.py b/smash/web/migrations/0132_worker_comment.py
index e4429baf..cd6ca169 100644
--- a/smash/web/migrations/0132_worker_comment.py
+++ b/smash/web/migrations/0132_worker_comment.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='worker',
             name='comment',
-            field=models.TextField(blank=True, max_length=1024, null=True, verbose_name=b'Comment'),
+            field=models.TextField(blank=True, max_length=1024, null=True, verbose_name='Comment'),
         ),
     ]
diff --git a/smash/web/migrations/0132_workerstudyrole_permissions.py b/smash/web/migrations/0132_workerstudyrole_permissions.py
index 4477be4d..2b429909 100644
--- a/smash/web/migrations/0132_workerstudyrole_permissions.py
+++ b/smash/web/migrations/0132_workerstudyrole_permissions.py
@@ -16,6 +16,6 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='workerstudyrole',
             name='permissions',
-            field=models.ManyToManyField(blank=True, to='auth.Permission', verbose_name=b'Worker Study Permissions'),
+            field=models.ManyToManyField(blank=True, to='auth.Permission', verbose_name='Worker Study Permissions'),
         ),
     ]
diff --git a/smash/web/migrations/0133_auto_20181113_1550.py b/smash/web/migrations/0133_auto_20181113_1550.py
index 7771620c..45761ab8 100644
--- a/smash/web/migrations/0133_auto_20181113_1550.py
+++ b/smash/web/migrations/0133_auto_20181113_1550.py
@@ -16,26 +16,26 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='study',
             name='default_delta_time_for_control_follow_up',
-            field=models.IntegerField(default=4, help_text=b'Time difference between visits used to automatically create follow up visits', validators=[django.core.validators.MinValueValidator(1)], verbose_name=b'Time difference between control visits'),
+            field=models.IntegerField(default=4, help_text='Time difference between visits used to automatically create follow up visits', validators=[django.core.validators.MinValueValidator(1)], verbose_name='Time difference between control visits'),
         ),
         migrations.AddField(
             model_name='study',
             name='default_delta_time_for_follow_up_units',
-            field=models.CharField(choices=[(b'days', b'Days'), (b'years', b'Years')], default=b'years', help_text=b'Units for the number of days between visits for both patients and controls', max_length=10, verbose_name=b'Units for the follow up incrementals'),
+            field=models.CharField(choices=[('days', 'Days'), ('years', 'Years')], default='years', help_text='Units for the number of days between visits for both patients and controls', max_length=10, verbose_name='Units for the follow up incrementals'),
         ),
         migrations.AddField(
             model_name='study',
             name='default_delta_time_for_patient_follow_up',
-            field=models.IntegerField(default=1, help_text=b'Time difference between visits used to automatically create follow up visits', validators=[django.core.validators.MinValueValidator(1)], verbose_name=b'Time difference between patient visits'),
+            field=models.IntegerField(default=1, help_text='Time difference between visits used to automatically create follow up visits', validators=[django.core.validators.MinValueValidator(1)], verbose_name='Time difference between patient visits'),
         ),
         migrations.AlterField(
             model_name='study',
             name='default_visit_duration_in_months',
-            field=models.IntegerField(default=6, help_text=b'Duration of the visit, this is, the time interval, in months, when the appointments may take place', validators=[django.core.validators.MinValueValidator(1)], verbose_name=b'Duration of the visits in months'),
+            field=models.IntegerField(default=6, help_text='Duration of the visit, this is, the time interval, in months, when the appointments may take place', validators=[django.core.validators.MinValueValidator(1)], verbose_name='Duration of the visits in months'),
         ),
         migrations.AlterField(
             model_name='study',
             name='default_voucher_expiration_in_months',
-            field=models.IntegerField(default=3, validators=[django.core.validators.MinValueValidator(1)], verbose_name=b'Duration of the vouchers in months'),
+            field=models.IntegerField(default=3, validators=[django.core.validators.MinValueValidator(1)], verbose_name='Duration of the vouchers in months'),
         ),
     ]
diff --git a/smash/web/migrations/0137_auto_20190321_1024.py b/smash/web/migrations/0137_auto_20190321_1024.py
index 3efceba1..0373645b 100644
--- a/smash/web/migrations/0137_auto_20190321_1024.py
+++ b/smash/web/migrations/0137_auto_20190321_1024.py
@@ -15,21 +15,21 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='studycolumns',
             name='endpoint_reached',
-            field=models.BooleanField(default=True, verbose_name=b'Endpoint reached'),
+            field=models.BooleanField(default=True, verbose_name='Endpoint reached'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='endpoint_reached',
-            field=models.BooleanField(default=False, verbose_name=b'Endpoint Reached'),
+            field=models.BooleanField(default=False, verbose_name='Endpoint Reached'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='endpoint_reached_reason',
-            field=models.TextField(blank=True, max_length=2000, verbose_name=b'Endpoint reached comments'),
+            field=models.TextField(blank=True, max_length=2000, verbose_name='Endpoint reached comments'),
         ),
         migrations.AlterField(
             model_name='studycolumns',
             name='resign_reason',
-            field=models.BooleanField(default=True, verbose_name=b'Endpoint reached comments'),
+            field=models.BooleanField(default=True, verbose_name='Endpoint reached comments'),
         ),
     ]
diff --git a/smash/web/migrations/0138_auto_20190321_1111.py b/smash/web/migrations/0138_auto_20190321_1111.py
index d2fc222f..adf8428e 100644
--- a/smash/web/migrations/0138_auto_20190321_1111.py
+++ b/smash/web/migrations/0138_auto_20190321_1111.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='voucher',
             name='status',
-            field=models.CharField(choices=[(b'NEW', b'New'), (b'IN_USE', b'In use'), (b'USED', b'Used'), (b'EXPIRED', b'Expired'), (b'REMOVED', b'Removed')], default=b'NEW', max_length=20, verbose_name=b'Status'),
+            field=models.CharField(choices=[('NEW', 'New'), ('IN_USE', 'In use'), ('USED', 'Used'), ('EXPIRED', 'Expired'), ('REMOVED', 'Removed')], default='NEW', max_length=20, verbose_name='Status'),
         ),
     ]
diff --git a/smash/web/migrations/0140_auto_20190528_0953.py b/smash/web/migrations/0140_auto_20190528_0953.py
index 2c7c1a19..9f2e65ec 100644
--- a/smash/web/migrations/0140_auto_20190528_0953.py
+++ b/smash/web/migrations/0140_auto_20190528_0953.py
@@ -18,11 +18,11 @@ class Migration(migrations.Migration):
             name='StudyRedCapColumns',
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('sex', models.BooleanField(default=True, verbose_name=b'Sex')),
-                ('date_born', models.BooleanField(default=True, verbose_name=b'Date of birth')),
-                ('dead', models.BooleanField(default=True, verbose_name=b'Dead')),
-                ('mpower_id', models.BooleanField(default=True, verbose_name=b'MPower ID')),
-                ('languages', models.BooleanField(default=True, verbose_name=b'Languages')),
+                ('sex', models.BooleanField(default=True, verbose_name='Sex')),
+                ('date_born', models.BooleanField(default=True, verbose_name='Date of birth')),
+                ('dead', models.BooleanField(default=True, verbose_name='Dead')),
+                ('mpower_id', models.BooleanField(default=True, verbose_name='MPower ID')),
+                ('languages', models.BooleanField(default=True, verbose_name='Languages')),
             ],
         )]
     if is_sqlite_db():
diff --git a/smash/web/migrations/0141_auto_20200319_1040.py b/smash/web/migrations/0141_auto_20200319_1040.py
index 5e2d11e0..1ec81c4f 100644
--- a/smash/web/migrations/0141_auto_20200319_1040.py
+++ b/smash/web/migrations/0141_auto_20200319_1040.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='appointmenttype',
             name='calendar_font_color',
-            field=models.CharField(default=b'#00000', max_length=2000, verbose_name=b'Calendar font color'),
+            field=models.CharField(default='#00000', max_length=2000, verbose_name='Calendar font color'),
         ),
     ]
diff --git a/smash/web/migrations/0142_provenance.py b/smash/web/migrations/0142_provenance.py
index 99a9099f..2d770b2d 100644
--- a/smash/web/migrations/0142_provenance.py
+++ b/smash/web/migrations/0142_provenance.py
@@ -17,13 +17,13 @@ class Migration(migrations.Migration):
             name='Provenance',
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('modified_table', models.CharField(max_length=1024, verbose_name=b'Modified table')),
-                ('modified_table_id', models.CharField(max_length=1024, verbose_name=b'Modified table row')),
-                ('modification_date', models.DateTimeField(verbose_name=b'Modified on')),
-                ('previous_value', models.CharField(blank=True, max_length=2048, null=True, verbose_name=b'Previous Value')),
-                ('new_value', models.CharField(blank=True, max_length=2048, null=True, verbose_name=b'New Value')),
-                ('modification_description', models.CharField(max_length=2048, verbose_name=b'Description')),
-                ('modification_author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.Worker', verbose_name=b'Worker who modified the row')),
+                ('modified_table', models.CharField(max_length=1024, verbose_name='Modified table')),
+                ('modified_table_id', models.CharField(max_length=1024, verbose_name='Modified table row')),
+                ('modification_date', models.DateTimeField(verbose_name='Modified on')),
+                ('previous_value', models.CharField(blank=True, max_length=2048, null=True, verbose_name='Previous Value')),
+                ('new_value', models.CharField(blank=True, max_length=2048, null=True, verbose_name='New Value')),
+                ('modification_description', models.CharField(max_length=2048, verbose_name='Description')),
+                ('modification_author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.Worker', verbose_name='Worker who modified the row')),
             ],
         ),
     ]
diff --git a/smash/web/migrations/0143_auto_20200319_1121.py b/smash/web/migrations/0143_auto_20200319_1121.py
index 4c651a39..f9eaeb51 100644
--- a/smash/web/migrations/0143_auto_20200319_1121.py
+++ b/smash/web/migrations/0143_auto_20200319_1121.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='provenance',
             name='modification_date',
-            field=models.DateTimeField(auto_now_add=True, verbose_name=b'Modified on'),
+            field=models.DateTimeField(auto_now_add=True, verbose_name='Modified on'),
         ),
     ]
diff --git a/smash/web/migrations/0144_auto_20200319_1221.py b/smash/web/migrations/0144_auto_20200319_1221.py
index b4eab423..e8b8c4bf 100644
--- a/smash/web/migrations/0144_auto_20200319_1221.py
+++ b/smash/web/migrations/0144_auto_20200319_1221.py
@@ -15,12 +15,12 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='provenance',
             name='modified_field',
-            field=models.CharField(default='', max_length=1024, verbose_name=b'Modified field'),
+            field=models.CharField(default='', max_length=1024, verbose_name='Modified field'),
             preserve_default=False,
         ),
         migrations.AlterField(
             model_name='provenance',
             name='modification_description',
-            field=models.CharField(max_length=20480, verbose_name=b'Description'),
+            field=models.CharField(max_length=20480, verbose_name='Description'),
         ),
     ]
diff --git a/smash/web/migrations/0145_auto_20200319_1404.py b/smash/web/migrations/0145_auto_20200319_1404.py
index 43b27245..21dfc100 100644
--- a/smash/web/migrations/0145_auto_20200319_1404.py
+++ b/smash/web/migrations/0145_auto_20200319_1404.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='provenance',
             name='modified_field',
-            field=models.CharField(blank=b'', max_length=1024, verbose_name=b'Modified field'),
+            field=models.CharField(blank='', max_length=1024, verbose_name='Modified field'),
         ),
     ]
diff --git a/smash/web/migrations/0146_auto_20200319_1446.py b/smash/web/migrations/0146_auto_20200319_1446.py
index 663d5024..cfa59cf7 100644
--- a/smash/web/migrations/0146_auto_20200319_1446.py
+++ b/smash/web/migrations/0146_auto_20200319_1446.py
@@ -16,6 +16,6 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='provenance',
             name='modification_author',
-            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='web.Worker', verbose_name=b'Worker who modified the row'),
+            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='web.Worker', verbose_name='Worker who modified the row'),
         ),
     ]
diff --git a/smash/web/migrations/0147_auto_20200320_0931.py b/smash/web/migrations/0147_auto_20200320_0931.py
index 39cf0185..f39112b0 100644
--- a/smash/web/migrations/0147_auto_20200320_0931.py
+++ b/smash/web/migrations/0147_auto_20200320_0931.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='provenance',
             name='modified_table_id',
-            field=models.IntegerField(default=0, verbose_name=b'Modified table row'),
+            field=models.IntegerField(default=0, verbose_name='Modified table row'),
         ),
     ]
diff --git a/smash/web/migrations/0148_auto_20200319_1301.py b/smash/web/migrations/0148_auto_20200319_1301.py
index 301a3d5e..0d9ecd0e 100644
--- a/smash/web/migrations/0148_auto_20200319_1301.py
+++ b/smash/web/migrations/0148_auto_20200319_1301.py
@@ -18,6 +18,6 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='appointmenttype',
             name='calendar_font_color',
-            field=models.CharField(default=b'#00000', max_length=2000, verbose_name=b'Calendar font color'),
+            field=models.CharField(default='#00000', max_length=2000, verbose_name='Calendar font color'),
         ),
     ]
diff --git a/smash/web/migrations/0153_auto_20200320_0932.py b/smash/web/migrations/0153_auto_20200320_0932.py
index f68d08e7..af773236 100644
--- a/smash/web/migrations/0153_auto_20200320_0932.py
+++ b/smash/web/migrations/0153_auto_20200320_0932.py
@@ -15,41 +15,41 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='studycolumns',
             name='brain_donation_agreement',
-            field=models.BooleanField(default=False, verbose_name=b'Brain donation agreement'),
+            field=models.BooleanField(default=False, verbose_name='Brain donation agreement'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='brain_donation_agreement',
-            field=models.BooleanField(default=False, verbose_name=b'Brain donation agreement'),
+            field=models.BooleanField(default=False, verbose_name='Brain donation agreement'),
         ),
         migrations.AddField(
             model_name='subject',
             name='next_of_keen_address',
-            field=models.TextField(blank=True, max_length=2000, verbose_name=b'Next of keen address'),
+            field=models.TextField(blank=True, max_length=2000, verbose_name='Next of keen address'),
         ),
         migrations.AddField(
             model_name='subject',
             name='next_of_keen_name',
-            field=models.CharField(blank=True, max_length=50, verbose_name=b'Next of keen'),
+            field=models.CharField(blank=True, max_length=50, verbose_name='Next of keen'),
         ),
         migrations.AddField(
             model_name='subject',
             name='next_of_keen_phone',
-            field=models.CharField(blank=True, max_length=50, verbose_name=b'Next of keen phone'),
+            field=models.CharField(blank=True, max_length=50, verbose_name='Next of keen phone'),
         ),
         migrations.AddField(
             model_name='subjectcolumns',
             name='next_of_keen_address',
-            field=models.BooleanField(default=False, max_length=1, verbose_name=b'Next of keen address'),
+            field=models.BooleanField(default=False, max_length=1, verbose_name='Next of keen address'),
         ),
         migrations.AddField(
             model_name='subjectcolumns',
             name='next_of_keen_name',
-            field=models.BooleanField(default=False, max_length=1, verbose_name=b'Next of keen'),
+            field=models.BooleanField(default=False, max_length=1, verbose_name='Next of keen'),
         ),
         migrations.AddField(
             model_name='subjectcolumns',
             name='next_of_keen_phone',
-            field=models.BooleanField(default=False, max_length=1, verbose_name=b'Next of keen phone'),
+            field=models.BooleanField(default=False, max_length=1, verbose_name='Next of keen phone'),
         ),
     ]
diff --git a/smash/web/migrations/0160_auto_20200415_1101.py b/smash/web/migrations/0160_auto_20200415_1101.py
index aa1dfa9a..af28df3f 100644
--- a/smash/web/migrations/0160_auto_20200415_1101.py
+++ b/smash/web/migrations/0160_auto_20200415_1101.py
@@ -15,101 +15,101 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='studycolumns',
             name='virus_test_1',
-            field=models.BooleanField(default=False, verbose_name=b'Visit 1 virus results'),
+            field=models.BooleanField(default=False, verbose_name='Visit 1 virus results'),
         ),
         migrations.AddField(
             model_name='studycolumns',
             name='virus_test_1_updated',
-            field=models.BooleanField(default=False, verbose_name=b'Visit 1 virus results date'),
+            field=models.BooleanField(default=False, verbose_name='Visit 1 virus results date'),
         ),
         migrations.AddField(
             model_name='studycolumns',
             name='virus_test_2',
-            field=models.BooleanField(default=False, verbose_name=b'Visit 2 virus results'),
+            field=models.BooleanField(default=False, verbose_name='Visit 2 virus results'),
         ),
         migrations.AddField(
             model_name='studycolumns',
             name='virus_test_2_updated',
-            field=models.BooleanField(default=False, verbose_name=b'Visit 2 virus results date'),
+            field=models.BooleanField(default=False, verbose_name='Visit 2 virus results date'),
         ),
         migrations.AddField(
             model_name='studycolumns',
             name='virus_test_3',
-            field=models.BooleanField(default=False, verbose_name=b'Visit 3 virus results'),
+            field=models.BooleanField(default=False, verbose_name='Visit 3 virus results'),
         ),
         migrations.AddField(
             model_name='studycolumns',
             name='virus_test_3_updated',
-            field=models.BooleanField(default=False, verbose_name=b'Visit 3 virus results date'),
+            field=models.BooleanField(default=False, verbose_name='Visit 3 virus results date'),
         ),
         migrations.AddField(
             model_name='studycolumns',
             name='virus_test_4',
-            field=models.BooleanField(default=False, verbose_name=b'Visit 4 virus results'),
+            field=models.BooleanField(default=False, verbose_name='Visit 4 virus results'),
         ),
         migrations.AddField(
             model_name='studycolumns',
             name='virus_test_4_updated',
-            field=models.BooleanField(default=False, verbose_name=b'Visit 4 virus results date'),
+            field=models.BooleanField(default=False, verbose_name='Visit 4 virus results date'),
         ),
         migrations.AddField(
             model_name='studycolumns',
             name='virus_test_5',
-            field=models.BooleanField(default=False, verbose_name=b'Visit 5 virus results'),
+            field=models.BooleanField(default=False, verbose_name='Visit 5 virus results'),
         ),
         migrations.AddField(
             model_name='studycolumns',
             name='virus_test_5_updated',
-            field=models.BooleanField(default=False, verbose_name=b'Visit 5 virus results date'),
+            field=models.BooleanField(default=False, verbose_name='Visit 5 virus results date'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='virus_test_1',
-            field=models.NullBooleanField(choices=[(True, b'Yes'), (False, b'No'), (None, b'N/A')], default=None, editable=False, verbose_name=b'Visit 1 virus result'),
+            field=models.NullBooleanField(choices=[(True, 'Yes'), (False, 'No'), (None, 'N/A')], default=None, editable=False, verbose_name='Visit 1 virus result'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='virus_test_1_updated',
-            field=models.DateField(editable=False, null=True, verbose_name=b'Visit 1 virus result date'),
+            field=models.DateField(editable=False, null=True, verbose_name='Visit 1 virus result date'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='virus_test_2',
-            field=models.NullBooleanField(choices=[(True, b'Yes'), (False, b'No'), (None, b'N/A')], default=None, editable=False, verbose_name=b'Visit 2 virus result'),
+            field=models.NullBooleanField(choices=[(True, 'Yes'), (False, 'No'), (None, 'N/A')], default=None, editable=False, verbose_name='Visit 2 virus result'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='virus_test_2_updated',
-            field=models.DateField(editable=False, null=True, verbose_name=b'Visit 2 virus result date'),
+            field=models.DateField(editable=False, null=True, verbose_name='Visit 2 virus result date'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='virus_test_3',
-            field=models.NullBooleanField(choices=[(True, b'Yes'), (False, b'No'), (None, b'N/A')], default=None, editable=False, verbose_name=b'Visit 3 virus result'),
+            field=models.NullBooleanField(choices=[(True, 'Yes'), (False, 'No'), (None, 'N/A')], default=None, editable=False, verbose_name='Visit 3 virus result'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='virus_test_3_updated',
-            field=models.DateField(editable=False, null=True, verbose_name=b'Visit 3 virus result date'),
+            field=models.DateField(editable=False, null=True, verbose_name='Visit 3 virus result date'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='virus_test_4',
-            field=models.NullBooleanField(choices=[(True, b'Yes'), (False, b'No'), (None, b'N/A')], default=None, editable=False, verbose_name=b'Visit 4 virus result'),
+            field=models.NullBooleanField(choices=[(True, 'Yes'), (False, 'No'), (None, 'N/A')], default=None, editable=False, verbose_name='Visit 4 virus result'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='virus_test_4_updated',
-            field=models.DateField(editable=False, null=True, verbose_name=b'Visit 4 virus result date'),
+            field=models.DateField(editable=False, null=True, verbose_name='Visit 4 virus result date'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='virus_test_5',
-            field=models.NullBooleanField(choices=[(True, b'Yes'), (False, b'No'), (None, b'N/A')], default=None, editable=False, verbose_name=b'Visit 5 virus result'),
+            field=models.NullBooleanField(choices=[(True, 'Yes'), (False, 'No'), (None, 'N/A')], default=None, editable=False, verbose_name='Visit 5 virus result'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='virus_test_5_updated',
-            field=models.DateField(editable=False, null=True, verbose_name=b'Visit 5 virus result date'),
+            field=models.DateField(editable=False, null=True, verbose_name='Visit 5 virus result date'),
         ),
     ]
diff --git a/smash/web/migrations/0161_auto_20200416_0736.py b/smash/web/migrations/0161_auto_20200416_0736.py
index 187b6b70..f47b9810 100644
--- a/smash/web/migrations/0161_auto_20200416_0736.py
+++ b/smash/web/migrations/0161_auto_20200416_0736.py
@@ -15,56 +15,56 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='study',
             name='sample_mail_statistics',
-            field=models.BooleanField(default=False, verbose_name=b'Email with sample collections should use statistics'),
+            field=models.BooleanField(default=False, verbose_name='Email with sample collections should use statistics'),
         ),
         migrations.AlterField(
             model_name='studysubject',
             name='virus_test_1',
-            field=models.NullBooleanField(choices=[(True, b'Yes'), (False, b'No'), (None, b'N/A')], default=None, verbose_name=b'Visit 1 virus result'),
+            field=models.NullBooleanField(choices=[(True, 'Yes'), (False, 'No'), (None, 'N/A')], default=None, verbose_name='Visit 1 virus result'),
         ),
         migrations.AlterField(
             model_name='studysubject',
             name='virus_test_1_updated',
-            field=models.DateField(blank=True, null=True, verbose_name=b'Visit 1 virus result date'),
+            field=models.DateField(blank=True, null=True, verbose_name='Visit 1 virus result date'),
         ),
         migrations.AlterField(
             model_name='studysubject',
             name='virus_test_2',
-            field=models.NullBooleanField(choices=[(True, b'Yes'), (False, b'No'), (None, b'N/A')], default=None, verbose_name=b'Visit 2 virus result'),
+            field=models.NullBooleanField(choices=[(True, 'Yes'), (False, 'No'), (None, 'N/A')], default=None, verbose_name='Visit 2 virus result'),
         ),
         migrations.AlterField(
             model_name='studysubject',
             name='virus_test_2_updated',
-            field=models.DateField(blank=True, null=True, verbose_name=b'Visit 2 virus result date'),
+            field=models.DateField(blank=True, null=True, verbose_name='Visit 2 virus result date'),
         ),
         migrations.AlterField(
             model_name='studysubject',
             name='virus_test_3',
-            field=models.NullBooleanField(choices=[(True, b'Yes'), (False, b'No'), (None, b'N/A')], default=None, verbose_name=b'Visit 3 virus result'),
+            field=models.NullBooleanField(choices=[(True, 'Yes'), (False, 'No'), (None, 'N/A')], default=None, verbose_name='Visit 3 virus result'),
         ),
         migrations.AlterField(
             model_name='studysubject',
             name='virus_test_3_updated',
-            field=models.DateField(blank=True, null=True, verbose_name=b'Visit 3 virus result date'),
+            field=models.DateField(blank=True, null=True, verbose_name='Visit 3 virus result date'),
         ),
         migrations.AlterField(
             model_name='studysubject',
             name='virus_test_4',
-            field=models.NullBooleanField(choices=[(True, b'Yes'), (False, b'No'), (None, b'N/A')], default=None, verbose_name=b'Visit 4 virus result'),
+            field=models.NullBooleanField(choices=[(True, 'Yes'), (False, 'No'), (None, 'N/A')], default=None, verbose_name='Visit 4 virus result'),
         ),
         migrations.AlterField(
             model_name='studysubject',
             name='virus_test_4_updated',
-            field=models.DateField(blank=True, null=True, verbose_name=b'Visit 4 virus result date'),
+            field=models.DateField(blank=True, null=True, verbose_name='Visit 4 virus result date'),
         ),
         migrations.AlterField(
             model_name='studysubject',
             name='virus_test_5',
-            field=models.NullBooleanField(choices=[(True, b'Yes'), (False, b'No'), (None, b'N/A')], default=None, verbose_name=b'Visit 5 virus result'),
+            field=models.NullBooleanField(choices=[(True, 'Yes'), (False, 'No'), (None, 'N/A')], default=None, verbose_name='Visit 5 virus result'),
         ),
         migrations.AlterField(
             model_name='studysubject',
             name='virus_test_5_updated',
-            field=models.DateField(blank=True, null=True, verbose_name=b'Visit 5 virus result date'),
+            field=models.DateField(blank=True, null=True, verbose_name='Visit 5 virus result date'),
         ),
     ]
diff --git a/smash/web/migrations/0162_auto_20200416_1212.py b/smash/web/migrations/0162_auto_20200416_1212.py
index 2e84b8fc..231b4fa2 100644
--- a/smash/web/migrations/0162_auto_20200416_1212.py
+++ b/smash/web/migrations/0162_auto_20200416_1212.py
@@ -15,11 +15,11 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='configurationitem',
             name='value',
-            field=models.CharField(max_length=1024, verbose_name=b'Value'),
+            field=models.CharField(max_length=1024, verbose_name='Value'),
         ),
         migrations.AlterField(
             model_name='subject',
             name='next_of_keen_name',
-            field=models.CharField(blank=True, max_length=255, verbose_name=b'Next of keen'),
+            field=models.CharField(blank=True, max_length=255, verbose_name='Next of keen'),
         ),
     ]
diff --git a/smash/web/migrations/0163_study_redcap_first_visit_number.py b/smash/web/migrations/0163_study_redcap_first_visit_number.py
index 7a4884b6..2872762f 100644
--- a/smash/web/migrations/0163_study_redcap_first_visit_number.py
+++ b/smash/web/migrations/0163_study_redcap_first_visit_number.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='study',
             name='redcap_first_visit_number',
-            field=models.IntegerField(default=1, verbose_name=b'Number of the first visit in redcap system'),
+            field=models.IntegerField(default=1, verbose_name='Number of the first visit in redcap system'),
         ),
     ]
diff --git a/smash/web/migrations/0167_auto_20200428_1110.py b/smash/web/migrations/0167_auto_20200428_1110.py
index 442dff95..6f7382ba 100644
--- a/smash/web/migrations/0167_auto_20200428_1110.py
+++ b/smash/web/migrations/0167_auto_20200428_1110.py
@@ -15,21 +15,21 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='subjectcolumns',
             name='next_of_keen_address',
-            field=models.BooleanField(default=False, max_length=1, verbose_name=b'Next of kin address'),
+            field=models.BooleanField(default=False, max_length=1, verbose_name='Next of kin address'),
         ),
         migrations.AlterField(
             model_name='subjectcolumns',
             name='next_of_keen_name',
-            field=models.BooleanField(default=False, max_length=1, verbose_name=b'Next of kin'),
+            field=models.BooleanField(default=False, max_length=1, verbose_name='Next of kin'),
         ),
         migrations.AlterField(
             model_name='subjectcolumns',
             name='next_of_keen_phone',
-            field=models.BooleanField(default=False, max_length=1, verbose_name=b'Next of kin phone'),
+            field=models.BooleanField(default=False, max_length=1, verbose_name='Next of kin phone'),
         ),
         migrations.AlterField(
             model_name='subject',
             name='social_security_number',
-            field=models.CharField(blank=True, max_length=50, verbose_name=b'Social security number'),
+            field=models.CharField(blank=True, max_length=50, verbose_name='Social security number'),
         ),
     ]
diff --git a/smash/web/migrations/0169_auto_20200525_1123.py b/smash/web/migrations/0169_auto_20200525_1123.py
index c3a55bf4..8d1136d1 100644
--- a/smash/web/migrations/0169_auto_20200525_1123.py
+++ b/smash/web/migrations/0169_auto_20200525_1123.py
@@ -15,26 +15,26 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='studysubject',
             name='virus_test_1_collection_date',
-            field=models.DateField(blank=True, null=True, verbose_name=b'Visit 1 virus collection date'),
+            field=models.DateField(blank=True, null=True, verbose_name='Visit 1 virus collection date'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='virus_test_2_collection_date',
-            field=models.DateField(blank=True, null=True, verbose_name=b'Visit 2 virus collection date'),
+            field=models.DateField(blank=True, null=True, verbose_name='Visit 2 virus collection date'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='virus_test_3_collection_date',
-            field=models.DateField(blank=True, null=True, verbose_name=b'Visit 3 virus collection date'),
+            field=models.DateField(blank=True, null=True, verbose_name='Visit 3 virus collection date'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='virus_test_4_collection_date',
-            field=models.DateField(blank=True, null=True, verbose_name=b'Visit 4 virus collection date'),
+            field=models.DateField(blank=True, null=True, verbose_name='Visit 4 virus collection date'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='virus_test_5_collection_date',
-            field=models.DateField(blank=True, null=True, verbose_name=b'Visit 5 virus collection date'),
+            field=models.DateField(blank=True, null=True, verbose_name='Visit 5 virus collection date'),
         ),
     ]
diff --git a/smash/web/migrations/0170_auto_20200525_1126.py b/smash/web/migrations/0170_auto_20200525_1126.py
index 972aa79d..3885d2a1 100644
--- a/smash/web/migrations/0170_auto_20200525_1126.py
+++ b/smash/web/migrations/0170_auto_20200525_1126.py
@@ -15,26 +15,26 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='studycolumns',
             name='virus_test_1_collection_date',
-            field=models.BooleanField(default=False, verbose_name=b'Visit 1 virus collection date'),
+            field=models.BooleanField(default=False, verbose_name='Visit 1 virus collection date'),
         ),
         migrations.AddField(
             model_name='studycolumns',
             name='virus_test_2_collection_date',
-            field=models.BooleanField(default=False, verbose_name=b'Visit 2 virus collection date'),
+            field=models.BooleanField(default=False, verbose_name='Visit 2 virus collection date'),
         ),
         migrations.AddField(
             model_name='studycolumns',
             name='virus_test_3_collection_date',
-            field=models.BooleanField(default=False, verbose_name=b'Visit 3 virus collection date'),
+            field=models.BooleanField(default=False, verbose_name='Visit 3 virus collection date'),
         ),
         migrations.AddField(
             model_name='studycolumns',
             name='virus_test_4_collection_date',
-            field=models.BooleanField(default=False, verbose_name=b'Visit 4 virus collection date'),
+            field=models.BooleanField(default=False, verbose_name='Visit 4 virus collection date'),
         ),
         migrations.AddField(
             model_name='studycolumns',
             name='virus_test_5_collection_date',
-            field=models.BooleanField(default=False, verbose_name=b'Visit 5 virus collection date'),
+            field=models.BooleanField(default=False, verbose_name='Visit 5 virus collection date'),
         ),
     ]
diff --git a/smash/web/migrations/0172_auto_20200525_1246.py b/smash/web/migrations/0172_auto_20200525_1246.py
index 8f5e039a..b16499c9 100644
--- a/smash/web/migrations/0172_auto_20200525_1246.py
+++ b/smash/web/migrations/0172_auto_20200525_1246.py
@@ -15,101 +15,101 @@ class Migration(migrations.Migration):
         migrations.AddField(
             model_name='studycolumns',
             name='virus_test_1_iga_status',
-            field=models.BooleanField(default=False, verbose_name=b'Visit 1 virus IgA status'),
+            field=models.BooleanField(default=False, verbose_name='Visit 1 virus IgA status'),
         ),
         migrations.AddField(
             model_name='studycolumns',
             name='virus_test_1_igg_status',
-            field=models.BooleanField(default=False, verbose_name=b'Visit 1 virus IgG status'),
+            field=models.BooleanField(default=False, verbose_name='Visit 1 virus IgG status'),
         ),
         migrations.AddField(
             model_name='studycolumns',
             name='virus_test_2_iga_status',
-            field=models.BooleanField(default=False, verbose_name=b'Visit 2 virus IgA status'),
+            field=models.BooleanField(default=False, verbose_name='Visit 2 virus IgA status'),
         ),
         migrations.AddField(
             model_name='studycolumns',
             name='virus_test_2_igg_status',
-            field=models.BooleanField(default=False, verbose_name=b'Visit 2 virus IgG status'),
+            field=models.BooleanField(default=False, verbose_name='Visit 2 virus IgG status'),
         ),
         migrations.AddField(
             model_name='studycolumns',
             name='virus_test_3_iga_status',
-            field=models.BooleanField(default=False, verbose_name=b'Visit 3 virus IgA status'),
+            field=models.BooleanField(default=False, verbose_name='Visit 3 virus IgA status'),
         ),
         migrations.AddField(
             model_name='studycolumns',
             name='virus_test_3_igg_status',
-            field=models.BooleanField(default=False, verbose_name=b'Visit 3 virus IgG status'),
+            field=models.BooleanField(default=False, verbose_name='Visit 3 virus IgG status'),
         ),
         migrations.AddField(
             model_name='studycolumns',
             name='virus_test_4_iga_status',
-            field=models.BooleanField(default=False, verbose_name=b'Visit 4 virus IgA status'),
+            field=models.BooleanField(default=False, verbose_name='Visit 4 virus IgA status'),
         ),
         migrations.AddField(
             model_name='studycolumns',
             name='virus_test_4_igg_status',
-            field=models.BooleanField(default=False, verbose_name=b'Visit 4 virus IgG status'),
+            field=models.BooleanField(default=False, verbose_name='Visit 4 virus IgG status'),
         ),
         migrations.AddField(
             model_name='studycolumns',
             name='virus_test_5_iga_status',
-            field=models.BooleanField(default=False, verbose_name=b'Visit 5 virus IgA status'),
+            field=models.BooleanField(default=False, verbose_name='Visit 5 virus IgA status'),
         ),
         migrations.AddField(
             model_name='studycolumns',
             name='virus_test_5_igg_status',
-            field=models.BooleanField(default=False, verbose_name=b'Visit 5 virus IgG status'),
+            field=models.BooleanField(default=False, verbose_name='Visit 5 virus IgG status'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='virus_test_1_iga_status',
-            field=models.CharField(blank=True, max_length=255, null=True, verbose_name=b'Visit 1 IgA status'),
+            field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Visit 1 IgA status'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='virus_test_1_igg_status',
-            field=models.CharField(blank=True, max_length=255, null=True, verbose_name=b'Visit 1 IgG status'),
+            field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Visit 1 IgG status'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='virus_test_2_iga_status',
-            field=models.CharField(blank=True, max_length=255, null=True, verbose_name=b'Visit 2 IgA status'),
+            field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Visit 2 IgA status'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='virus_test_2_igg_status',
-            field=models.CharField(blank=True, max_length=255, null=True, verbose_name=b'Visit 2 IgG status'),
+            field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Visit 2 IgG status'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='virus_test_3_iga_status',
-            field=models.CharField(blank=True, max_length=255, null=True, verbose_name=b'Visit 3 IgA status'),
+            field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Visit 3 IgA status'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='virus_test_3_igg_status',
-            field=models.CharField(blank=True, max_length=255, null=True, verbose_name=b'Visit 3 IgG status'),
+            field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Visit 3 IgG status'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='virus_test_4_iga_status',
-            field=models.CharField(blank=True, max_length=255, null=True, verbose_name=b'Visit 4 IgA status'),
+            field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Visit 4 IgA status'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='virus_test_4_igg_status',
-            field=models.CharField(blank=True, max_length=255, null=True, verbose_name=b'Visit 4 IgG status'),
+            field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Visit 4 IgG status'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='virus_test_5_iga_status',
-            field=models.CharField(blank=True, max_length=255, null=True, verbose_name=b'Visit 5 IgA status'),
+            field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Visit 5 IgA status'),
         ),
         migrations.AddField(
             model_name='studysubject',
             name='virus_test_5_igg_status',
-            field=models.CharField(blank=True, max_length=255, null=True, verbose_name=b'Visit 5 IgG status'),
+            field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Visit 5 IgG status'),
         ),
     ]
diff --git a/smash/web/tests/models/test_visit.py b/smash/web/tests/models/test_visit.py
index 48ba8358..1edc9e89 100644
--- a/smash/web/tests/models/test_visit.py
+++ b/smash/web/tests/models/test_visit.py
@@ -1,13 +1,14 @@
 import datetime
+import logging
+
 from dateutil.relativedelta import relativedelta
 from django.test import TestCase
 
-from web.models import Visit
-from web.models.constants import SUBJECT_TYPE_CHOICES_PATIENT
+from web.models import Visit, Study
+from web.models.constants import SUBJECT_TYPE_CHOICES_PATIENT, GLOBAL_STUDY_ID
 from web.tests.functions import create_study_subject, create_visit
 from web.utils import get_today_midnight_date
 
-import logging
 logger = logging.getLogger(__name__)
 
 class VisitModelTests(TestCase):
@@ -32,10 +33,10 @@ class VisitModelTests(TestCase):
 
         visit1.datetime_end = get_today_midnight_date() + datetime.timedelta(days=1)
         visit2.datetime_end = get_today_midnight_date() + datetime.timedelta(days=2)
-        
+
         visit1.save() #post save will be raised
         visit2.save() #post save will be raised
-        
+
         visit1.refresh_from_db()
         visit2.refresh_from_db()
         self.assertEqual(1, visit1.visit_number)
@@ -54,7 +55,7 @@ class VisitModelTests(TestCase):
     def test_visit_numbers(self):
         subject = create_study_subject()
         Visit.objects.filter(subject=subject).all().delete()
-        visit1 = create_visit(subject=subject, 
+        visit1 = create_visit(subject=subject,
                               datetime_begin = get_today_midnight_date() - datetime.timedelta(days=15),
                               datetime_end   = get_today_midnight_date() - datetime.timedelta(days=14)) #post save will be raised
         visit2 = create_visit(subject=subject,
@@ -94,9 +95,20 @@ class VisitModelTests(TestCase):
         visit1.refresh_from_db()
         visit2.refresh_from_db()
         visit3.refresh_from_db()
-        self.assertEqual(3, visit1.visit_number) #<= change        
+        self.assertEqual(3, visit1.visit_number) #<= change
         self.assertEqual(2, visit2.visit_number) #<= change
-        self.assertEqual(1, visit3.visit_number) #<= change        
+        self.assertEqual(1, visit3.visit_number) #<= change
+
+    def test_mark_as_finished_for_global_study(self):
+        subject = create_study_subject()
+        visit = create_visit(subject)
+
+        subject.study = Study.objects.get(pk=GLOBAL_STUDY_ID)
+        subject.save()
+        visit.mark_as_finished()
+
+        visit_count = Visit.objects.filter(subject=subject).count()
+        self.assertEqual(2, visit_count)
 
     def test_mark_as_finished(self):
         subject = create_study_subject()
@@ -205,7 +217,7 @@ class VisitModelTests(TestCase):
         # check if follow up date is based on the first visit date
         study = visit.subject.study
         args = {study.default_delta_time_for_follow_up_units: study.default_delta_time_for_patient_follow_up} #patient
-        
+
         time_to_next_visit = relativedelta(**args) * (visit_number - 1) #calculated from first visit
 
         self.assertTrue(visit.datetime_begin + time_to_next_visit - datetime.timedelta(days=1) < new_follow_up.datetime_begin)
-- 
GitLab