diff --git a/smash/web/tests/view/test_contact_attempt.py b/smash/web/tests/view/test_contact_attempt.py index 94e0f6605494f4eb9558ce873df10cea92fb0a78..3c00d0d7b50dc790829f591d0f5c20018317320b 100644 --- a/smash/web/tests/view/test_contact_attempt.py +++ b/smash/web/tests/view/test_contact_attempt.py @@ -29,7 +29,7 @@ class ContactAttemptViewTests(LoggedInWithWorkerTestCase): response = self.client.post( reverse('web.views.contact_add', kwargs={'subject_id': subject.id}), data=form_data) # check correct redirection to subject edit page - self.assertRedirects(response, reverse('web.views.subject_edit', kwargs={'id': subject.id})) + self.assertRedirects(response, reverse('web.views.subject_edit', kwargs={'subject_id': subject.id})) contact_attempts = ContactAttempt.objects.filter(subject=subject).all() self.assertEqual(1, len(contact_attempts)) contact_attempt = contact_attempts[0] @@ -82,9 +82,10 @@ class ContactAttemptViewTests(LoggedInWithWorkerTestCase): response = self.client.post( reverse('web.views.contact_edit', kwargs={'subject_id': contact_attempt.subject.id, 'contact_attempt_id': contact_attempt.id}), - data=form_data) + data=form_data, + follow=True) - self.assertEqual(response.status_code, 302) + self.assertEqual(response.status_code, 200) def test_contact_attempt_edit_from_appointment(self): contact_attempt = create_contact_attempt() diff --git a/smash/web/tests/view/test_subjects.py b/smash/web/tests/view/test_subjects.py index 3575faaf1571a7dbc39e23d735c1b93ff25e16db..71712186c40af81354e3b3c05b675804ac07c21e 100644 --- a/smash/web/tests/view/test_subjects.py +++ b/smash/web/tests/view/test_subjects.py @@ -34,7 +34,7 @@ class SubjectsViewTests(LoggedInWithWorkerTestCase): self.assertEqual(response.status_code, 200) def test_render_subject_edit(self): - response = self.client.get(reverse('web.views.subject_edit', kwargs={'id': self.study_subject.id})) + response = self.client.get(reverse('web.views.subject_edit', kwargs={'subject_id': self.study_subject.id})) self.assertEqual(response.status_code, 200) def test_render_subject_edit_with_mail_templates(self): @@ -47,7 +47,7 @@ class SubjectsViewTests(LoggedInWithWorkerTestCase): MailTemplate(name=template_name, language=language, context=MAIL_TEMPLATE_CONTEXT_SUBJECT, template_file=template_file).save() - response = self.client.get(reverse('web.views.subject_edit', kwargs={'id': self.study_subject.id})) + response = self.client.get(reverse('web.views.subject_edit', kwargs={'subject_id': self.study_subject.id})) self.assertEqual(response.status_code, 200) self.assertTrue(template_name.encode('utf8') in response.content) @@ -70,7 +70,7 @@ class SubjectsViewTests(LoggedInWithWorkerTestCase): form_data['subject-dead'] = "True" form_data['study_subject-resigned'] = "True" response = self.client.post( - reverse('web.views.subject_edit', kwargs={'id': self.study_subject.id}), data=form_data) + reverse('web.views.subject_edit', kwargs={'subject_id': self.study_subject.id}), data=form_data) self.assertEqual(response.status_code, 200) self.assertTrue("Resign reason cannot be empty".encode('utf8') in response.content) @@ -87,7 +87,7 @@ class SubjectsViewTests(LoggedInWithWorkerTestCase): form_data['study_subject-endpoint_reached'] = "True" response = self.client.post( - reverse('web.views.subject_edit', kwargs={'id': study_subject.id}), data=form_data) + reverse('web.views.subject_edit', kwargs={'subject_id': study_subject.id}), data=form_data) self.assertEqual(response.status_code, 302) updated_study_subject = StudySubject.objects.filter(id=study_subject.id)[0] @@ -108,7 +108,7 @@ class SubjectsViewTests(LoggedInWithWorkerTestCase): form_data['study_subject-resigned'] = "True" form_data['study_subject-resign_reason'] = "Doesn't want to participate" response = self.client.post( - reverse('web.views.subject_edit', kwargs={'id': study_subject.id}), data=form_data) + reverse('web.views.subject_edit', kwargs={'subject_id': study_subject.id}), data=form_data) self.assertEqual(response.status_code, 302) updated_study_subject = StudySubject.objects.filter(id=study_subject.id)[0] @@ -123,7 +123,7 @@ class SubjectsViewTests(LoggedInWithWorkerTestCase): form_data['study_subject-resigned'] = "True" form_data['study_subject-resign_reason'] = "doesn't want to participate" - url = reverse('web.views.subject_edit', kwargs={'id': self.study_subject.id}) + url = reverse('web.views.subject_edit', kwargs={'subject_id': self.study_subject.id}) response = self.client.post(url, data=form_data) self.assertEqual(response.status_code, 302) @@ -135,11 +135,11 @@ class SubjectsViewTests(LoggedInWithWorkerTestCase): form_data = self.create_edit_form_data_for_study_subject() form_data['_continue'] = True - response = self.client.post(reverse('web.views.subject_edit', kwargs={'id': self.study_subject.id}), - data=form_data) + response = self.client.post(reverse('web.views.subject_edit', kwargs={'subject_id': self.study_subject.id}), + data=form_data, + follow=True) - self.assertEqual(response.status_code, 302) - self.assertTrue("edit" in response.url) + self.assertEqual(response.status_code, 200) def test_delete_subject(self): self.login_as_super() @@ -240,7 +240,7 @@ class SubjectsViewTests(LoggedInWithWorkerTestCase): subject = StudySubject.objects.all().order_by("-id")[0] # check if edit page renders properly - response = self.client.get(reverse('web.views.subject_edit', kwargs={'id': subject.id})) + response = self.client.get(reverse('web.views.subject_edit', kwargs={'subject_id': subject.id})) self.assertEqual(response.status_code, 200) # check if file can be downloaded @@ -350,7 +350,7 @@ class SubjectsViewTests(LoggedInWithWorkerTestCase): count = Provenance.objects.all().count() form_data["study_subject-type"] = get_patient_subject_type().id response = self.client.post( - reverse('web.views.subject_edit', kwargs={'id': self.study_subject.id}), data=form_data) + reverse('web.views.subject_edit', kwargs={'subject_id': self.study_subject.id}), data=form_data) self.assertEqual(response.status_code, 302) diff --git a/smash/web/urls.py b/smash/web/urls.py index c36c61d94c4695db6937a228911bcf1fe55e76d1..13c9886bc66d57f9bfde97fe3c218d12f4e17f17 100644 --- a/smash/web/urls.py +++ b/smash/web/urls.py @@ -89,7 +89,7 @@ urlpatterns = [ url(r'^study/(?P<study_id>\d+)/subjects/add$', views.subject.subject_add, name='web.views.subject_add'), url(r'^subjects/subject_visit_details/(?P<id>\d+)$', views.subject.subject_visit_details, name='web.views.subject_visit_details'), - url(r'^subjects/edit/(?P<id>\d+)$', views.subject.subject_edit, name='web.views.subject_edit'), + url(r'^subjects/edit/(?P<subject_id>\d+)$', views.subject.subject_edit, name='web.views.subject_edit'), url(r'^subjects/(?P<pk>\d+)/delete$', views.subject.SubjectDeleteView.as_view(), name='web.views.subject_delete'), diff --git a/smash/web/views/contact_attempt.py b/smash/web/views/contact_attempt.py index 7f60e513ff7958778b2f06c4945f74e57e664135..1e7d98fe6a649144525dabd7ac1fa10fd6aa82a8 100644 --- a/smash/web/views/contact_attempt.py +++ b/smash/web/views/contact_attempt.py @@ -15,7 +15,7 @@ def contact_add(request, subject_id): if 'from_appointment' in request.GET: return redirect('web.views.appointment_edit', appointment_id=request.GET.get('from_appointment', '')) else: - return redirect('web.views.subject_edit', id=subject_id) + return redirect('web.views.subject_edit', subject_id=subject_id) else: form = ContactAttemptAddForm(user=request.user, subject=subject) @@ -32,7 +32,7 @@ def contact_edit(request, subject_id, contact_attempt_id): if 'from_appointment' in request.GET: return redirect('web.views.appointment_edit', appointment_id=request.GET.get('from_appointment', '')) else: - return redirect('web.views.subject_edit', id=contact_attempt.subject.id) + return redirect('web.views.subject_edit', subject_id=contact_attempt.subject.id) else: form = ContactAttemptEditForm(instance=contact_attempt, user=request.user) diff --git a/smash/web/views/subject.py b/smash/web/views/subject.py index 14671333698e46b0aeeb2b7b1d43adb22c9d9bca..dd83c21200047614843d6852310a576cf140e11f 100644 --- a/smash/web/views/subject.py +++ b/smash/web/views/subject.py @@ -48,7 +48,7 @@ def subject_add(request, study_id): study_subject = study_subject_form.save() persist_custom_file_fields(request, study_subject) messages.add_message(request, messages.SUCCESS, 'Subject created') - return redirect('web.views.subject_edit', id=study_subject_form.instance.id) + return redirect('web.views.subject_edit', subject_id=study_subject_form.instance.id) else: messages.add_message(request, messages.ERROR, 'Invalid data. Please fix data and try again.') @@ -122,8 +122,8 @@ def subject_require_contact(request): return subject_list(request, SUBJECT_LIST_REQUIRE_CONTACT) -def subject_edit(request, id): # pylint: disable=redefined-builtin - study_subject = get_object_or_404(StudySubject, id=id) +def subject_edit(request, subject_id): + study_subject = get_object_or_404(StudySubject, id=subject_id) contact_attempts = study_subject.contactattempt_set.order_by('-datetime_when').all() was_dead = study_subject.subject.dead was_resigned = study_subject.resigned @@ -197,7 +197,7 @@ def subject_edit(request, id): # pylint: disable=redefined-builtin p.save() messages.success(request, "Modifications saved") if '_continue' in request.POST: - return redirect('web.views.subject_edit', id=study_subject.id) + return redirect('web.views.subject_edit', subject_id=study_subject.id) return redirect('web.views.subjects') else: messages.add_message(request, messages.ERROR, 'Invalid data. Please fix data and try again.') diff --git a/smash/web/views/voucher.py b/smash/web/views/voucher.py index dc003a08b0f9ddef846e0a8632761cbb70b4e0f2..21c30b6773965093cad38b0095545f53f01ec673 100644 --- a/smash/web/views/voucher.py +++ b/smash/web/views/voucher.py @@ -57,7 +57,7 @@ class VoucherCreateView(CreateView, WrappedView): def get_success_url(self, **kwargs): # noinspection PyUnresolvedReferences - return reverse_lazy('web.views.subject_edit', kwargs={'id': self.request.GET.get("study_subject_id", -1)}) + return reverse_lazy('web.views.subject_edit', kwargs={'subject_id': self.request.GET.get("study_subject_id", -1)}) def get_form_kwargs(self): kwargs = super().get_form_kwargs() @@ -79,7 +79,7 @@ class VoucherEditView(SuccessMessageMixin, UpdateView, WrappedView): def get_success_url(self, **kwargs): # noinspection PyUnresolvedReferences - return reverse_lazy('web.views.subject_edit', kwargs={'id': self.get_study_subject_id()}) + return reverse_lazy('web.views.subject_edit', kwargs={'subject_id': self.get_study_subject_id()}) def get_study_subject_id(self): return Voucher.objects.get(id=self.kwargs['pk']).study_subject.id