From d7acf030c21ff390be692bf980d9682ec0317dcf Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Fri, 27 Nov 2020 11:05:13 +0100
Subject: [PATCH] NullBooleanField is deprecated

---
 ...timportdata.py => 0184_visitimportdata.py} |  2 +-
 ...n.py => 0185_visitimportdata_migration.py} |  2 +-
 .../web/migrations/0186_auto_20201127_1003.py | 43 +++++++++++++++++
 smash/web/models/study_subject.py             | 48 +++++++++++--------
 4 files changed, 72 insertions(+), 23 deletions(-)
 rename smash/web/migrations/{0182_visitimportdata.py => 0184_visitimportdata.py} (98%)
 rename smash/web/migrations/{0183_visitimportdata_migration.py => 0185_visitimportdata_migration.py} (98%)
 create mode 100644 smash/web/migrations/0186_auto_20201127_1003.py

diff --git a/smash/web/migrations/0182_visitimportdata.py b/smash/web/migrations/0184_visitimportdata.py
similarity index 98%
rename from smash/web/migrations/0182_visitimportdata.py
rename to smash/web/migrations/0184_visitimportdata.py
index 415d3042..4354c4d9 100644
--- a/smash/web/migrations/0182_visitimportdata.py
+++ b/smash/web/migrations/0184_visitimportdata.py
@@ -7,7 +7,7 @@ import django.db.models.deletion
 class Migration(migrations.Migration):
 
     dependencies = [
-        ('web', '0181_worker_privacy_notice_accepted'),
+        ('web', '0183_auto_20201126_1154'),
     ]
 
     operations = [
diff --git a/smash/web/migrations/0183_visitimportdata_migration.py b/smash/web/migrations/0185_visitimportdata_migration.py
similarity index 98%
rename from smash/web/migrations/0183_visitimportdata_migration.py
rename to smash/web/migrations/0185_visitimportdata_migration.py
index 9e0732e6..084b8959 100644
--- a/smash/web/migrations/0183_visitimportdata_migration.py
+++ b/smash/web/migrations/0185_visitimportdata_migration.py
@@ -93,7 +93,7 @@ def remove_old_config(apps, schema_editor):
 
 class Migration(migrations.Migration):
     dependencies = [
-        ('web', '0182_visitimportdata'),
+        ('web', '0184_visitimportdata'),
     ]
 
     operations = [
diff --git a/smash/web/migrations/0186_auto_20201127_1003.py b/smash/web/migrations/0186_auto_20201127_1003.py
new file mode 100644
index 00000000..4828b280
--- /dev/null
+++ b/smash/web/migrations/0186_auto_20201127_1003.py
@@ -0,0 +1,43 @@
+# Generated by Django 3.1.3 on 2020-11-27 10:03
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('web', '0185_visitimportdata_migration'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='studysubject',
+            name='pd_in_family',
+            field=models.BooleanField(default=None, null=True, verbose_name='PD in family'),
+        ),
+        migrations.AlterField(
+            model_name='studysubject',
+            name='virus_test_1',
+            field=models.BooleanField(choices=[(True, 'Yes'), (False, 'No'), (None, 'N/A')], default=None, null=True, verbose_name='Visit 1 virus result'),
+        ),
+        migrations.AlterField(
+            model_name='studysubject',
+            name='virus_test_2',
+            field=models.BooleanField(choices=[(True, 'Yes'), (False, 'No'), (None, 'N/A')], default=None, null=True, verbose_name='Visit 2 virus result'),
+        ),
+        migrations.AlterField(
+            model_name='studysubject',
+            name='virus_test_3',
+            field=models.BooleanField(choices=[(True, 'Yes'), (False, 'No'), (None, 'N/A')], default=None, null=True, verbose_name='Visit 3 virus result'),
+        ),
+        migrations.AlterField(
+            model_name='studysubject',
+            name='virus_test_4',
+            field=models.BooleanField(choices=[(True, 'Yes'), (False, 'No'), (None, 'N/A')], default=None, null=True, verbose_name='Visit 4 virus result'),
+        ),
+        migrations.AlterField(
+            model_name='studysubject',
+            name='virus_test_5',
+            field=models.BooleanField(choices=[(True, 'Yes'), (False, 'No'), (None, 'N/A')], default=None, null=True, verbose_name='Visit 5 virus result'),
+        ),
+    ]
diff --git a/smash/web/models/study_subject.py b/smash/web/models/study_subject.py
index 8c4a3350..39c77a02 100644
--- a/smash/web/models/study_subject.py
+++ b/smash/web/models/study_subject.py
@@ -167,9 +167,10 @@ class StudySubject(models.Model):
         verbose_name='Information sent',
         default=False
     )
-    pd_in_family = models.NullBooleanField(
+    pd_in_family = models.BooleanField(
         verbose_name='PD in family',
         default=None,
+        null=True,
     )
     brain_donation_agreement = models.BooleanField(
         default=False,
@@ -204,26 +205,31 @@ class StudySubject(models.Model):
                                                verbose_name='Endpoint reached comments'
                                                )
 
-    virus_test_1 = models.NullBooleanField(choices=BOOL_CHOICES_WITH_NONE,
-                                           verbose_name='Visit 1 virus result',
-                                           default=None
-                                           )
-    virus_test_2 = models.NullBooleanField(choices=BOOL_CHOICES_WITH_NONE,
-                                           verbose_name='Visit 2 virus result',
-                                           default=None
-                                           )
-    virus_test_3 = models.NullBooleanField(choices=BOOL_CHOICES_WITH_NONE,
-                                           verbose_name='Visit 3 virus result',
-                                           default=None
-                                           )
-    virus_test_4 = models.NullBooleanField(choices=BOOL_CHOICES_WITH_NONE,
-                                           verbose_name='Visit 4 virus result',
-                                           default=None
-                                           )
-    virus_test_5 = models.NullBooleanField(choices=BOOL_CHOICES_WITH_NONE,
-                                           verbose_name='Visit 5 virus result',
-                                           default=None
-                                           )
+    virus_test_1 = models.BooleanField(choices=BOOL_CHOICES_WITH_NONE,
+                                       verbose_name='Visit 1 virus result',
+                                       default=None,
+                                       null=True
+                                       )
+    virus_test_2 = models.BooleanField(choices=BOOL_CHOICES_WITH_NONE,
+                                       verbose_name='Visit 2 virus result',
+                                       default=None,
+                                       null=True
+                                       )
+    virus_test_3 = models.BooleanField(choices=BOOL_CHOICES_WITH_NONE,
+                                       verbose_name='Visit 3 virus result',
+                                       default=None,
+                                       null=True
+                                       )
+    virus_test_4 = models.BooleanField(choices=BOOL_CHOICES_WITH_NONE,
+                                       verbose_name='Visit 4 virus result',
+                                       default=None,
+                                       null=True
+                                       )
+    virus_test_5 = models.BooleanField(choices=BOOL_CHOICES_WITH_NONE,
+                                       verbose_name='Visit 5 virus result',
+                                       default=None,
+                                       null=True
+                                       )
     virus_test_1_updated = models.DateField(verbose_name='Visit 1 virus result date',
                                             blank=True,
                                             null=True,
-- 
GitLab