diff --git a/smash/web/tests/test_view_notifications.py b/smash/web/tests/test_view_notifications.py index f313714203b6abc9b5193a0ea4f0781f98a3029d..b28faa7463f868cd40b22ce78b0f59ab55d22608 100644 --- a/smash/web/tests/test_view_notifications.py +++ b/smash/web/tests/test_view_notifications.py @@ -51,14 +51,6 @@ class NotificationViewTests(TestCase): notification = get_visits_without_appointments_count() self.assertEquals(original_notification.count + 1, notification.count) - def test_get_visits_without_appointments_count_2(self): - original_notification = get_visits_without_appointments_count() - subject = create_subject() - visit = create_visit(subject) - appointment = create_appointment(visit) - - notification = get_visits_without_appointments_count() - self.assertEquals(original_notification.count, notification.count) def test_get_visits_without_appointments_count_3(self): original_notification = get_visits_without_appointments_count() @@ -149,3 +141,27 @@ class NotificationViewTests(TestCase): notification = get_subject_with_no_visit_notifications_count() self.assertEquals(original_notification.count, notification.count) + + def test_get_unfinished_appointments_count(self): + original_notification = get_unfinished_appointments_count() + subject = create_subject() + visit = create_visit(subject) + appointment = create_appointment(visit) + appointment.datetime_when = "2011-01-01" + appointment.status = Appointment.APPOINTMENT_STATUS_SCHEDULED + appointment.save() + + notification = get_unfinished_appointments_count() + self.assertEquals(original_notification.count + 1, notification.count) + + def test_get_unfinished_appointments_count_2(self): + original_notification = get_unfinished_appointments_count() + subject = create_subject() + visit = create_visit(subject) + appointment = create_appointment(visit) + appointment.datetime_when = "2011-01-01" + appointment.status = Appointment.APPOINTMENT_STATUS_CANCELLED + appointment.save() + + notification = get_unfinished_appointments_count() + self.assertEquals(original_notification.count, notification.count) diff --git a/smash/web/urls.py b/smash/web/urls.py index dd2a30e7cabca3a023ea8dd60001b24df0438cd7..f37a812069ce28277a49a0181b74169a35ee1b2f 100644 --- a/smash/web/urls.py +++ b/smash/web/urls.py @@ -35,6 +35,7 @@ urlpatterns = [ url(r'visit/mark/(?P<id>\d+)/(?P<as_what>[A-z]+)$', views.visit_mark, name='web.views.visit_mark'), url(r'subjects$', views.subjects, name='web.views.subjects'), + url(r'subjects/no_visit$', views.subject_no_visits, name='web.views.subject_no_visits'), url(r'subjects/add$', views.subject_add, name='web.views.subject_add'), url(r'subjects/details/(?P<id>\d+)$', views.subject_details, name='web.views.subject_details'), url(r'subjects/subject_visit_details/(?P<id>\d+)$', views.subject_visit_details, name='web.views.subject_visit_details'), diff --git a/smash/web/views.py b/smash/web/views.py index 2069b46153787bad38b72dd413b114486ae80c61..14708239a94e55a5aa155eb1bd7cc0b5e882ffd6 100644 --- a/smash/web/views.py +++ b/smash/web/views.py @@ -30,17 +30,17 @@ def index(request): return redirect(login) -def e404_page_not_found(request): - return render(request, "errors/404.html", context) +def e404_page_not_found(request, context = None): + return render(request, "errors/404.html", context, status=404) def e500_error(request, context = None): return render(request, "errors/500.html", context, status=500) -def e403_permission_denied(request): - return render(request, "errors/403.html", context) +def e403_permission_denied(request, context = None): + return render(request, "errors/403.html", context, status=403) -def e400_bad_request(request): - return render(request, "errors/400.html", context) +def e400_bad_request(request, context = None): + return render(request, "errors/400.html", context, status=400) def login(request): @@ -125,7 +125,7 @@ def get_approaching_visits_without_appointments(): def get_unfinished_appointments_count(): return NotificationCount( title = "unfinished appointments ", - count = get_unfinished_appointments(), + count = get_unfinished_appointments().count(), style = "fa fa-history text-yellow", type = 'web.views.unfinished_appointments') @@ -264,6 +264,13 @@ def subject_add(request): return wrap_response(request, 'subjects/add.html', {'form': form}) +def subject_no_visits(request): + subjects_list = get_subjects_with_no_visit().order_by('-last_name') + context = { + 'subjects_list': subjects_list + } + + return wrap_response(request, 'subjects/index.html', context) def subject_details(request, id): the_subject = get_object_or_404(Subject, id=id)