From 93fb4ea31af3c428fe1c02ba30d4ac9e1c707825 Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Tue, 28 Feb 2017 11:42:07 +0100 Subject: [PATCH] subject has fields dead, rejected and default appointment location --- smash/web/models.py | 52 ++++++++++++++----------- smash/web/templates/subjects/index.html | 4 +- smash/web/tests/test_SubjectAddForm.py | 3 +- smash/web/tests/test_SubjectEditForm.py | 3 +- smash/web/tests/test_VisitAddForm.py | 3 +- 5 files changed, 38 insertions(+), 27 deletions(-) diff --git a/smash/web/models.py b/smash/web/models.py index 820bce3b..f6fd6fd6 100644 --- a/smash/web/models.py +++ b/smash/web/models.py @@ -34,36 +34,48 @@ class Subject(models.Model): (SEX_CHOICES_FEMALE,'Female'), ) - STATUS_CHOICES_DEAD = 'DEA' - STATUS_CHOICES_REJECTED = 'REJ' - STATUS_CHOICES_NOT_CONTACTED = 'NCO' - STATUS_CHOICES_TEST_GROUP = 'TST' - STATUS_CHOICES_LEVEL_A = 'LEA' - STATUS_CHOICES_LEVEL_B = 'LEB' - STATUS_CHOICES_OPTED_OUT = 'OPT' - - STATUS_CHOICES = ( - (STATUS_CHOICES_NOT_CONTACTED, 'Not contacted'), - (STATUS_CHOICES_TEST_GROUP, 'Test group'), - (STATUS_CHOICES_LEVEL_A, 'Level A'), - (STATUS_CHOICES_LEVEL_B, 'Level B'), - (STATUS_CHOICES_OPTED_OUT, 'Opted out'), - (STATUS_CHOICES_REJECTED, 'Rejected'), - (STATUS_CHOICES_DEAD, 'Dead') + LOCATION_CHOICES_LIH = 'L' + LOCATION_CHOICES = ( + (LOCATION_CHOICES_LIH,'LIH'), + ('P','PRC'), + ('F','FLYING TEAM'), + ) + + SUBJECT_TYPE_CHOICES_CONTROL = 'C' + SUBJECT_TYPE_CHOICES = ( + (SUBJECT_TYPE_CHOICES_CONTROL,'CONTROL'), + ('P','PATIENT'), ) def mark_as_dead(self): - self.status = self.STATUS_CHOICES_DEAD + self.dead = True self.save() def mark_as_rejected(self): - self.status = self.STATUS_CHOICES_REJECTED + self.resigned = True self.save() sex = models.CharField(max_length=1, choices=SEX_CHOICES, verbose_name='Sex' ) + type = models.CharField(max_length=1, + choices=SUBJECT_TYPE_CHOICES, + verbose_name='Type' + ) + + dead = models.BooleanField( + verbose_name='Dead', + default= False + ) + resigned = models.BooleanField( + verbose_name='Resigned', + default= False + ) + default_appointment_location = models.CharField(max_length=1, + choices=LOCATION_CHOICES, + verbose_name='Default appointment location' + ) first_name = models.CharField(max_length=50, verbose_name='First name' ) @@ -127,10 +139,6 @@ class Subject(models.Model): blank=True, verbose_name='MPower ID' ) - status = models.CharField(max_length=3, choices=STATUS_CHOICES, - verbose_name='Status', - default='NCO' - ) comments = models.CharField(max_length=2000, blank=True, verbose_name='Comments' diff --git a/smash/web/templates/subjects/index.html b/smash/web/templates/subjects/index.html index e2955a29..12e147ca 100644 --- a/smash/web/templates/subjects/index.html +++ b/smash/web/templates/subjects/index.html @@ -36,7 +36,7 @@ <th>Last name</th> <th>Country</th> <th data-sorter="false" data-filter="false">Languages</th> - <th class="filter-select filter-exact" data-placeholder="Select type">Type</th> + <th class="filter-select filter-exact" data-placeholder="Select location">Default location</th> <th>Details</th> <th>Edit</th> <th>Delete</th> @@ -60,7 +60,7 @@ {% endfor %} {% endautoescape %} </td> - <td>{{ subject.get_status_display }}</td> + <td>{{ subject.get_default_appointment_location_display }}</td> <td><a href="{% url 'web.views.subject_details' subject.id %}" type="button" class="btn btn-block btn-default">Details</a></td> <td><a href="{% url 'web.views.subject_edit' subject.id %}" type="button" class="btn btn-block btn-default">Edit</a></td> <td><a href="{% url 'web.views.subject_delete' subject.id %}" type="button" class="btn btn-block btn-default">Delete</a></td> diff --git a/smash/web/tests/test_SubjectAddForm.py b/smash/web/tests/test_SubjectAddForm.py index 41fdb320..92b032d0 100644 --- a/smash/web/tests/test_SubjectAddForm.py +++ b/smash/web/tests/test_SubjectAddForm.py @@ -6,8 +6,9 @@ class SubjectAddFormTests(TestCase): def setUp(self): self.sample_data = {'first_name': 'name', 'last_name': 'name', - 'status' : Subject.STATUS_CHOICES_NOT_CONTACTED, 'sex' : Subject.SEX_CHOICES_MALE, + 'type' : Subject.SUBJECT_TYPE_CHOICES_CONTROL, + 'default_appointment_location' : Subject.LOCATION_CHOICES_LIH, 'country' : 'Luxembourg' } def test_validation(self): diff --git a/smash/web/tests/test_SubjectEditForm.py b/smash/web/tests/test_SubjectEditForm.py index 604c3a0c..223b5595 100644 --- a/smash/web/tests/test_SubjectEditForm.py +++ b/smash/web/tests/test_SubjectEditForm.py @@ -8,8 +8,9 @@ class SubjectEditFormTests(TestCase): def setUp(self): self.sample_data = {'first_name': 'name', 'last_name': 'name', - 'status' : Subject.STATUS_CHOICES_NOT_CONTACTED, 'sex' : Subject.SEX_CHOICES_MALE, + 'type' : Subject.SUBJECT_TYPE_CHOICES_CONTROL, + 'default_appointment_location' : Subject.LOCATION_CHOICES_LIH, 'country' : 'Luxembourg', 'screening_number' : '123', 'nd_number' : 'nd_123' diff --git a/smash/web/tests/test_VisitAddForm.py b/smash/web/tests/test_VisitAddForm.py index 83ba6a8b..ae3c4baa 100644 --- a/smash/web/tests/test_VisitAddForm.py +++ b/smash/web/tests/test_VisitAddForm.py @@ -8,8 +8,9 @@ class SubjectAddFormTests(TestCase): def setUp(self): subject_data = {'first_name': 'name', 'last_name': 'name', - 'status' : Subject.STATUS_CHOICES_NOT_CONTACTED, 'sex' : Subject.SEX_CHOICES_MALE, + 'type' : Subject.SUBJECT_TYPE_CHOICES_CONTROL, + 'default_appointment_location' : Subject.LOCATION_CHOICES_LIH, 'country' : 'Luxembourg', } self.subject = SubjectAddForm(data=subject_data).save() -- GitLab