Skip to content
Snippets Groups Projects
Commit be6747df authored by Piotr Gawron's avatar Piotr Gawron
Browse files

Merge branch '86-adding-new-subject' into 'master'

redirect to subject details after adding a subject - #86

Closes #86

See merge request !33
parents 131e55e5 0fea31a8
No related branches found
No related tags found
1 merge request!33redirect to subject details after adding a subject - #86
Pipeline #
...@@ -240,6 +240,19 @@ desired effect ...@@ -240,6 +240,19 @@ desired effect
<!-- Main content --> <!-- Main content -->
<section class="content"> <section class="content">
{% block messages %}
{% if messages %}
<div class="messages">
{% for message in messages %}
<div class="alert {% if message.tags %}alert-{{ message.tags }}{% endif %} alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h4>{{ message.tags | title }}</h4>
{{ message }}
</div>
{% endfor %}
</div>
{% endif %}
{% endblock %}
{% block maincontent %} {% block maincontent %}
{% endblock maincontent %} {% endblock maincontent %}
</section> </section>
......
...@@ -42,7 +42,7 @@ class SubjectsViewTests(TestCase): ...@@ -42,7 +42,7 @@ class SubjectsViewTests(TestCase):
def test_render_subject_visit_details(self): def test_render_subject_visit_details(self):
subject = create_subject() subject = create_subject()
visit = create_visit(subject) visit = create_visit(subject)
appointment = create_appointment(visit) create_appointment(visit)
response = self.client.get(reverse('web.views.subject_visit_details', kwargs={'id': subject.id})) response = self.client.get(reverse('web.views.subject_visit_details', kwargs={'id': subject.id}))
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
...@@ -75,15 +75,17 @@ class SubjectsViewTests(TestCase): ...@@ -75,15 +75,17 @@ class SubjectsViewTests(TestCase):
if value is not None: if value is not None:
form_data[key] = value form_data[key] = value
form_data["screening_number"] = "X-"; form_data["screening_number"] = "X-"
form_data["country"] = "Luxembourg"; form_data["country"] = "Luxembourg"
form_data["first_name"] = "John"; form_data["first_name"] = "John"
form_data["last_name"] = "Doe"; form_data["last_name"] = "Doe"
form_data["sex"] = SEX_CHOICES_MALE; form_data["sex"] = SEX_CHOICES_MALE
form_data["type"] = SUBJECT_TYPE_CHOICES_CONTROL; form_data["type"] = SUBJECT_TYPE_CHOICES_CONTROL
form_data["default_location"] = get_test_location().id; form_data["default_location"] = get_test_location().id
response = self.client.post(reverse('web.views.subject_add'), data=form_data) response = self.client.post(reverse('web.views.subject_add'), data=form_data)
self.assertEqual(response.status_code, 302) self.assertEqual(response.status_code, 302)
response = self.client.get(response.url)
self.assertContains(response, "Subject created")
subject = Subject.objects.all()[0] subject = Subject.objects.all()[0]
self.assertEqual("X-001", subject.screening_number) self.assertEqual("X-001", subject.screening_number)
......
# coding=utf-8 # coding=utf-8
from django.contrib import messages
from django.shortcuts import redirect, get_object_or_404 from django.shortcuts import redirect, get_object_or_404
from notifications import get_subjects_with_no_visit, get_subjects_with_reminder from notifications import get_subjects_with_no_visit, get_subjects_with_reminder
...@@ -22,7 +22,8 @@ def subject_add(request): ...@@ -22,7 +22,8 @@ def subject_add(request):
form = SubjectAddForm(request.POST, request.FILES, user=request.user) form = SubjectAddForm(request.POST, request.FILES, user=request.user)
if form.is_valid(): if form.is_valid():
form.save() form.save()
return redirect('web.views.subjects') messages.add_message(request, messages.SUCCESS, 'Subject created')
return redirect('web.views.subject_edit', id=form.instance.id)
else: else:
worker = Worker.get_by_user(request.user) worker = Worker.get_by_user(request.user)
form = SubjectAddForm(user=request.user, initial={'screening_number': get_prefix_screening_number(worker)}) form = SubjectAddForm(user=request.user, initial={'screening_number': get_prefix_screening_number(worker)})
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment