From 8fe28aba1dd3107e446c0e93a1f31bd0d6bf3006 Mon Sep 17 00:00:00 2001 From: Mike Olund Date: Sun, 26 Mar 2017 15:35:11 -0700 Subject: [PATCH] DIV-185 - Handle incomplete prequalification questions --- edivorce/apps/core/templates/incomplete.html | 5 +++ edivorce/apps/core/templates/overview.html | 5 +-- edivorce/apps/core/views/main.py | 32 +++++++++++++++----- 3 files changed, 32 insertions(+), 10 deletions(-) diff --git a/edivorce/apps/core/templates/incomplete.html b/edivorce/apps/core/templates/incomplete.html index e6add2a1..aaeb564d 100644 --- a/edivorce/apps/core/templates/incomplete.html +++ b/edivorce/apps/core/templates/incomplete.html @@ -24,6 +24,11 @@ in B.C. website.

+ {% if debug %} +
+

Unanswered: {{ missed_questions }}

+ {% endif %} + {% endblock %} diff --git a/edivorce/apps/core/templates/overview.html b/edivorce/apps/core/templates/overview.html index 6ec87876..d0d5ea16 100644 --- a/edivorce/apps/core/templates/overview.html +++ b/edivorce/apps/core/templates/overview.html @@ -11,10 +11,11 @@

Answer the Questions Related to Your Divorce Questionnaire

- + Qualifying Questions - Completed + {% if step_status.prequalification == 'Started' %} Started + {% elif step_status.prequalification == 'Complete' %} Completed {% endif %} diff --git a/edivorce/apps/core/views/main.py b/edivorce/apps/core/views/main.py index 2ad05c1f..ead73337 100644 --- a/edivorce/apps/core/views/main.py +++ b/edivorce/apps/core/views/main.py @@ -7,7 +7,8 @@ from ..decorators import bceid_required import datetime from ..models import BceidUser from ..utils.user_response import get_responses_from_db, get_responses_from_db_grouped_by_steps, \ - get_responses_from_session, copy_session_to_db, get_step_status + get_responses_from_session, copy_session_to_db, get_step_status, is_complete, \ + get_responses_from_session_grouped_by_steps from edivorce.apps.core.utils.question_step_mapping import list_of_registries @@ -49,11 +50,23 @@ def success(request): if request.bceid_user.is_authenticated: return redirect(settings.PROXY_BASE_URL + settings.FORCE_SCRIPT_NAME[:-1] + '/overview') else: - return render(request, 'success.html', context={'register_url': settings.REGISTER_URL}) + prequal_responses = get_responses_from_session_grouped_by_steps(request)['prequalification'] + complete, missed_questions = is_complete('prequalification', prequal_responses) + + if complete: + return render(request, 'success.html', context={'register_url': settings.REGISTER_URL}) + else: + return redirect(settings.PROXY_BASE_URL + settings.FORCE_SCRIPT_NAME[:-1] + '/incomplete') def incomplete(request): - return render(request, 'incomplete.html') + """ + This page is shown if the user misses any pre-qualification questions + """ + prequal_responses = get_responses_from_session_grouped_by_steps(request)['prequalification'] + complete, missed_questions = is_complete('prequalification', prequal_responses) + return render(request, 'incomplete.html', + context={'missed_questions': missed_questions, 'debug': settings.DEBUG }) def register(request): @@ -107,9 +120,7 @@ def logout(request): @bceid_required def overview(request): """ - View rendering process overview page - If user responded to questions for certain step, - mark that step as "Started" otherwise "Not started" + Dashboard: Process overview page. """ user = __get_bceid_user(request) responses_dict_by_step = get_responses_from_db_grouped_by_steps(user) @@ -123,6 +134,9 @@ def overview(request): @bceid_required def dashboard_nav(request, nav_step): + """ + Dashboard: All other pages + """ template_name = 'dashboard/%s.html' % nav_step return render(request, template_name=template_name, context={'active_page': nav_step}) @@ -130,8 +144,7 @@ def dashboard_nav(request, nav_step): @bceid_required def question(request, step): """ - View rendering main questions - For review page, use response grouped by step to render page + View for rendering main divorce questionaire questions """ template = 'question/%02d_%s.html' % (template_step_order[step], step) @@ -175,6 +188,9 @@ def server_error(request): def legal(request): + """ + Legal Information page + """ return render(request, 'legal.html', context={'active_page': 'legal'})