diff --git a/smash/web/forms.py b/smash/web/forms.py index 0f4efe7663deb737a3f58d0fba34d60b9bf99554..6bd614c22ef7daf4da39491ea0f59b8d67be60fe 100644 --- a/smash/web/forms.py +++ b/smash/web/forms.py @@ -149,7 +149,7 @@ class SubjectDetailForm(ModelForm): fields = '__all__' -class SubjectEditForm(ModelForm): +class StudySubjectEditForm(ModelForm): datetime_contact_reminder = forms.DateTimeField(label="Contact on", widget=forms.DateTimeInput(DATETIMEPICKER_DATE_ATTRS), required=False @@ -166,7 +166,7 @@ class SubjectEditForm(ModelForm): kwargs.pop('was_resigned') if 'was_dead' in kwargs: kwargs.pop('was_dead') - super(SubjectEditForm, self).__init__(*args, **kwargs) + super(StudySubjectEditForm, self).__init__(*args, **kwargs) instance = getattr(self, 'instance', None) if instance and instance.id: self.fields['screening_number'].widget.attrs['readonly'] = True @@ -184,6 +184,8 @@ class SubjectEditForm(ModelForm): class Meta: model = StudySubject fields = '__all__' + exclude = ['subject'] + class WorkerAddForm(ModelForm): diff --git a/smash/web/tests/forms/test_StudySubjectEditForm.py b/smash/web/tests/forms/test_StudySubjectEditForm.py index fde535a5f829da9126f670a51d1bcf984c577a6c..f7be33a08a4ed89afbbc85022a890fcb72d64917 100644 --- a/smash/web/tests/forms/test_StudySubjectEditForm.py +++ b/smash/web/tests/forms/test_StudySubjectEditForm.py @@ -1,5 +1,5 @@ from web.forms import StudySubjectAddForm -from web.forms import SubjectEditForm +from web.forms import StudySubjectEditForm from web.models import StudySubject from web.models.constants import SEX_CHOICES_MALE, SUBJECT_TYPE_CHOICES_CONTROL, COUNTRY_AFGHANISTAN_ID from web.tests import LoggedInWithWorkerTestCase @@ -31,7 +31,7 @@ class SubjectEditFormTests(LoggedInWithWorkerTestCase): subject = add_form.save() self.sample_data['id'] = subject.id - edit_form = SubjectEditForm(self.sample_data) + edit_form = StudySubjectEditForm(self.sample_data) save_status = edit_form.is_valid() self.assertTrue(save_status) @@ -46,7 +46,7 @@ class SubjectEditFormTests(LoggedInWithWorkerTestCase): self.sample_data['id'] = subject.id self.sample_data['nd_number'] = "ND0123" - edit_form = SubjectEditForm(self.sample_data) + edit_form = StudySubjectEditForm(self.sample_data) save_status = edit_form.is_valid() self.assertFalse(save_status) @@ -66,7 +66,7 @@ class SubjectEditFormTests(LoggedInWithWorkerTestCase): self.sample_data['mpower_id'] = "mpower_002" self.sample_data['nd_number'] = "ND0001" self.sample_data['screening_number'] = "001" - edit_form = SubjectEditForm(self.sample_data) + edit_form = StudySubjectEditForm(self.sample_data) save_status = edit_form.is_valid() self.assertFalse(save_status) diff --git a/smash/web/tests/view/test_appointments.py b/smash/web/tests/view/test_appointments.py index 25f971cef295e65263ed72d9bf2f75bf9d9beb54..31045c709c5cbbc4eb9091434a47e7d90ac1b996 100644 --- a/smash/web/tests/view/test_appointments.py +++ b/smash/web/tests/view/test_appointments.py @@ -5,7 +5,7 @@ from django.urls import reverse from web.tests.functions import create_study_subject, create_visit, create_appointment, create_worker, create_flying_team, \ format_form_field -from web.forms import AppointmentEditForm, SubjectEditForm +from web.forms import AppointmentEditForm, StudySubjectEditForm from web.models import Appointment, StudySubject from web.views.notifications import get_today_midnight_date from web.tests import LoggedInTestCase @@ -30,7 +30,7 @@ class AppointmentsViewTests(LoggedInTestCase): new_status = appointment.APPOINTMENT_STATUS_NO_SHOW new_last_name = "new last name" form_appointment = AppointmentEditForm(user=self.user, instance=appointment, prefix="appointment") - form_subject = SubjectEditForm(instance=subject, prefix="subject") + form_subject = StudySubjectEditForm(instance=subject, prefix="subject") form_data = {} for key, value in form_appointment.initial.items(): if value is not None: @@ -125,7 +125,7 @@ class AppointmentsViewTests(LoggedInTestCase): def prepare_form(self, appointment, subject): form_appointment = AppointmentEditForm(user=self.user, instance=appointment, prefix="appointment") - form_subject = SubjectEditForm(instance=subject, prefix="subject") + form_subject = StudySubjectEditForm(instance=subject, prefix="subject") form_data = {} for key, value in form_appointment.initial.items(): if value is not None: diff --git a/smash/web/tests/view/test_subjects.py b/smash/web/tests/view/test_subjects.py index 9278a436ef5670af409e991f206141ea32132afb..a569464980e9dbf3a5059932f482c46f24f0cb9e 100644 --- a/smash/web/tests/view/test_subjects.py +++ b/smash/web/tests/view/test_subjects.py @@ -2,7 +2,7 @@ import datetime from django.urls import reverse -from web.forms import StudySubjectAddForm, SubjectEditForm +from web.forms import StudySubjectAddForm, StudySubjectEditForm from web.models import StudySubject from web.models.constants import SEX_CHOICES_MALE, SUBJECT_TYPE_CHOICES_CONTROL, SUBJECT_TYPE_CHOICES_PATIENT, \ COUNTRY_AFGHANISTAN_ID, COUNTRY_OTHER_ID @@ -47,7 +47,7 @@ class SubjectsViewTests(LoggedInWithWorkerTestCase): def test_save_subject_edit_when_resigned_without_reason(self): subject = create_study_subject() - form_subject = SubjectEditForm(instance=subject) + form_subject = StudySubjectEditForm(instance=subject) form_data = {} for key, value in form_subject.initial.items(): if value is not None: @@ -63,7 +63,7 @@ class SubjectsViewTests(LoggedInWithWorkerTestCase): def test_save_subject_edit(self): subject = create_study_subject() - form_subject = SubjectEditForm(instance=subject) + form_subject = StudySubjectEditForm(instance=subject) form_data = {} for key, value in form_subject.initial.items(): if value is not None: diff --git a/smash/web/views/appointment.py b/smash/web/views/appointment.py index 2eca3ad830fc66192548b027693f99bce5a73996..910c5839609bf7827ce856da1cd71b2de2b39d9a 100644 --- a/smash/web/views/appointment.py +++ b/smash/web/views/appointment.py @@ -7,7 +7,7 @@ from django.core.exceptions import ValidationError from django.shortcuts import get_object_or_404, redirect from . import wrap_response -from ..forms import AppointmentDetailForm, AppointmentAddForm, AppointmentEditForm, SubjectEditForm +from ..forms import AppointmentDetailForm, AppointmentAddForm, AppointmentEditForm, StudySubjectEditForm from ..models import Appointment, StudySubject, MailTemplate APPOINTMENT_LIST_GENERIC = "GENERIC" @@ -69,7 +69,7 @@ def appointment_edit(request, id): prefix="appointment") is_valid_form = True if the_appointment.visit is not None: - subject_form = SubjectEditForm(request.POST, instance=the_appointment.visit.subject, prefix="subject") + subject_form = StudySubjectEditForm(request.POST, instance=the_appointment.visit.subject, prefix="subject") if not subject_form.is_valid(): is_valid_form = False @@ -109,7 +109,7 @@ def appointment_edit(request, id): appointment_form = AppointmentEditForm(instance=the_appointment, user=request.user, prefix="appointment") if the_appointment.visit is not None: - subject_form = SubjectEditForm(instance=the_appointment.visit.subject, prefix="subject") + subject_form = StudySubjectEditForm(instance=the_appointment.visit.subject, prefix="subject") contact_attempts = the_appointment.visit.subject.contactattempt_set.order_by('-datetime_when').all() languages = [] diff --git a/smash/web/views/subject.py b/smash/web/views/subject.py index 996387a5776a17e56877b80aa47f1af07f3ec98c..d094a250cb8a5ad6cb49635ef19f3393adb5a03d 100644 --- a/smash/web/views/subject.py +++ b/smash/web/views/subject.py @@ -3,7 +3,7 @@ from django.contrib import messages from django.shortcuts import redirect, get_object_or_404 from . import wrap_response -from ..forms import StudySubjectAddForm, SubjectEditForm, VisitDetailForm +from ..forms import StudySubjectAddForm, StudySubjectEditForm, VisitDetailForm from ..models import StudySubject, MailTemplate, Worker SUBJECT_LIST_GENERIC = "GENERIC" @@ -55,8 +55,8 @@ def subject_edit(request, id): was_dead = the_subject.dead was_resigned = the_subject.resigned if request.method == 'POST': - form = SubjectEditForm(request.POST, request.FILES, instance=the_subject, was_dead=was_dead, - was_resigned=was_resigned) + form = StudySubjectEditForm(request.POST, request.FILES, instance=the_subject, was_dead=was_dead, + was_resigned=was_resigned) if form.is_valid(): form.save() # check if subject was marked as dead or resigned @@ -71,7 +71,7 @@ def subject_edit(request, id): else: messages.add_message(request, messages.ERROR, 'Invalid data. Please fix data and try again.') else: - form = SubjectEditForm(instance=the_subject, was_dead=was_dead, was_resigned=was_resigned) + form = StudySubjectEditForm(instance=the_subject, was_dead=was_dead, was_resigned=was_resigned) languages = [] if the_subject.default_written_communication_language: