From 34fbdec4d8f3b3346ecaceb91c7ec667d8d1f420 Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Mon, 14 Mar 2022 10:23:40 +0100 Subject: [PATCH] don't validate screening number when screeing number is disabled --- CHANGELOG | 6 ++++++ smash/web/forms/study_subject_forms.py | 2 +- smash/web/templates/_base.html | 2 +- smash/web/tests/view/test_subjects.py | 12 ++++++++++++ 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index b05b262a..dc23629e 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,9 @@ +smasch (1.1.0~beta.1-1) unstable; urgency=low + + * bug fix: impossible to add subject when screening number is disabled (#501) + + -- Piotr Gawron <piotr.gawron@uni.lu> Mon, 4 Mar 2022 16:00:00 +0200 + smasch (1.1.0~beta.0-1) unstable; urgency=low * improvement: allow to assign empty value to email configuration option so diff --git a/smash/web/forms/study_subject_forms.py b/smash/web/forms/study_subject_forms.py index a2286417..78760cf6 100644 --- a/smash/web/forms/study_subject_forms.py +++ b/smash/web/forms/study_subject_forms.py @@ -347,7 +347,7 @@ def prepare_study_subject_fields(fields, study: Study): def validate_subject_screening_number(self, cleaned_data): - if self.study.columns.resign_reason: + if self.study.columns.resign_reason and self.study.columns.screening_number: subjects_from_db = StudySubject.objects.filter(screening_number=cleaned_data["screening_number"], study=self.study) if len(subjects_from_db) > 0: diff --git a/smash/web/templates/_base.html b/smash/web/templates/_base.html index 5690dace..65e116c8 100644 --- a/smash/web/templates/_base.html +++ b/smash/web/templates/_base.html @@ -258,7 +258,7 @@ desired effect {% block footer %} <!-- To the right --> <div class="pull-right hidden-xs"> - Version: <strong>1.1.0~beta.0</strong> + Version: <strong>1.1.0~beta.1</strong> </div> <!-- Default to the left --> diff --git a/smash/web/tests/view/test_subjects.py b/smash/web/tests/view/test_subjects.py index af737bc3..ca946bf9 100644 --- a/smash/web/tests/view/test_subjects.py +++ b/smash/web/tests/view/test_subjects.py @@ -399,3 +399,15 @@ class SubjectsViewTests(LoggedInTestCase): self.assertEqual(response.status_code, 302) updated_study_subject = StudySubject.objects.get(id=self.study_subject.id) self.assertTrue(updated_study_subject.subject.dead) + + def test_subjects_add_when_screening_number_disabled(self): + self.study.columns.screening_number = False + self.study.columns.save() + self.worker.roles.all()[0].permissions.add(Permission.objects.get(codename="add_subject")) + self.worker.save() + form_data = self.create_add_form_data_for_study_subject() + + count = StudySubject.objects.all().count() + self.client.post(reverse('web.views.subject_add', kwargs={'study_id': self.study.id}), data=form_data) + + self.assertEqual(count + 1, StudySubject.objects.all().count()) -- GitLab