Exemple #1
0
def question(request, step, sub_step=None):
    """
    View for rendering main divorce questionaire questions
    """
    sub_page_template = '_{}'.format(sub_step) if sub_step else ''
    template = 'question/%02d_%s%s.html' % (template_step_order[step], step, sub_page_template)

    responses_dict_by_step = get_responses_from_db_grouped_by_steps(request.user, True)
    step_status = get_step_status(responses_dict_by_step)
    if step == "review":
        responses_dict = responses_dict_by_step
        derived = get_derived_data(get_responses_from_db(request.user))
    else:
        question_step = page_step_mapping.get(step, step)
        show_errors = step_status.get(question_step) == 'Started'
        responses_dict = get_responses_from_db(request.user, show_errors=show_errors, step=question_step, substep=sub_step)
        derived = get_derived_data(responses_dict)

    # Add step status dictionary
    responses_dict['step_status'] = step_status

    responses_dict['active_page'] = step
    # If page is filing location page, add registries dictionary for list of court registries
    if step == "location":
        responses_dict['registries'] = sorted(list_of_registries)

    responses_dict['sub_step'] = sub_step
    responses_dict['derived'] = derived

    return render(request, template_name=template, context=responses_dict)
Exemple #2
0
def question(request, step, sub_step=None):
    """
    View for rendering main divorce questionaire questions
    """
    sub_page_template = '_{}'.format(sub_step) if sub_step else ''
    template = 'question/%02d_%s%s.html' % (template_step_order[step], step, sub_page_template)

    if step == "review":
        data_dict = get_data_for_user(request.user)
        responses_dict_by_step = get_step_responses(data_dict)
        step_status = get_step_completeness(responses_dict_by_step)
        data_dict.update(get_error_dict(responses_dict_by_step))
        derived = get_derived_data(data_dict)
        responses_dict = responses_dict_by_step
    else:
        responses_dict = get_data_for_user(request.user)
        responses_dict_by_step = get_step_responses(responses_dict)
        step_status = get_step_completeness(responses_dict_by_step)
        responses_dict.update(get_error_dict(responses_dict_by_step, step, sub_step))
        derived = get_derived_data(responses_dict)

    # Add step status dictionary
    responses_dict['step_status'] = step_status

    responses_dict['active_page'] = step
    # If page is filing location page, add registries dictionary for list of court registries
    if step == "location":
        courts = EFilingCourtLocations().courts(request)
        responses_dict['registries'] = sorted(courts.keys())

    responses_dict['sub_step'] = sub_step
    responses_dict['derived'] = derived

    return render(request, template_name=template, context=responses_dict)
Exemple #3
0
def intercept_page(request):
    """
    On intercept, show the Orders page to get the requested orders before the
    user sees the nav on the left, so that it's already customized to their
    input.
    """
    template = 'question/%02d_%s.html' % (template_step_order['orders'], 'orders')
    responses_dict = get_data_for_user(request.user)
    responses_dict['intercepted'] = True
    responses_dict['derived'] = get_derived_data(responses_dict)

    return render(request, template_name=template, context=responses_dict)
Exemple #4
0
def overview(request):
    """
    Dashboard: Process overview page.
    """
    responses_dict_by_step = get_responses_from_db_grouped_by_steps(request.user)

    # Add step status dictionary
    responses_dict_by_step['step_status'] = get_step_status(responses_dict_by_step)
    responses_dict_by_step['active_page'] = 'overview'
    responses_dict_by_step['derived'] = get_derived_data(get_responses_from_db(request.user))

    response = render(request, 'overview.html', context=responses_dict_by_step)

    # set this session variable after the page is already rendered
    request.session['viewed_dashboard_during_session'] = True

    return response
Exemple #5
0
def dashboard_nav(request, nav_step):
    """
    Dashboard: All other pages
    """
    responses_dict = get_data_for_user(request.user)
    responses_dict['active_page'] = nav_step
    template_name = 'dashboard/%s.html' % nav_step
    if nav_step in ('print_form', 'swear_forms', 'next_steps', 'final_filing') and responses_dict.get('court_registry_for_filing'):
        _add_court_registry_address(request, responses_dict)
    if nav_step in ('print_form', 'initial_filing', 'final_filing'):
        _add_question_errors(responses_dict)
    if nav_step in ('initial_filing', 'final_filing'):
        _add_error_messages(nav_step, request, responses_dict)

    responses_dict['virtual_swearing_enabled'] = settings.VIRTUAL_SWEARING_ENABLED
    responses_dict['derived'] = get_derived_data(responses_dict)
    return render(request, template_name=template_name, context=responses_dict)
Exemple #6
0
def prequalification(request, step):
    """
    View for rendering pre-qualification questions.
    If user is not authenticated with BCeID, temporarily store user responses to session
    """
    template = 'prequalification/step_%s.html' % step

    if not request.user.is_authenticated:
        responses_dict = get_responses_from_session(request)
    else:
        responses_dict = get_data_for_user(request.user)
        responses_dict['active_page'] = 'prequalification'
        responses_dict['derived'] = get_derived_data(responses_dict)
        responses_by_step = get_step_responses(responses_dict)
        step_status = get_step_completeness(responses_by_step)
        responses_dict['step_status'] = step_status

    return render(request, template_name=template, context=responses_dict)
Exemple #7
0
def overview(request):
    """
    Dashboard: Process overview page.
    """
    responses_dict = get_data_for_user(request.user)
    responses_dict_by_step = get_step_responses(responses_dict)

    # Add step status dictionary
    step_status = get_step_completeness(responses_dict_by_step)
    responses_dict_by_step['step_status'] = step_status
    responses_dict_by_step['active_page'] = 'overview'
    responses_dict_by_step['derived'] = get_derived_data(responses_dict)

    # Dashnav needs filing option to determine which steps to show
    for question in responses_dict_by_step['signing_filing']:
        responses_dict_by_step[question['question_id']] = question['value']

    response = render(request, 'overview.html', context=responses_dict_by_step)

    # set this session variable after the page is already rendered
    request.session['viewed_dashboard_during_session'] = True

    return response
Exemple #8
0
 def get_derived_value(self, derived_key):
     responses_dict = get_data_for_user(self.user)
     responses_dict_by_step = get_step_responses(responses_dict)
     responses_dict.update(get_error_dict(responses_dict_by_step))
     derived_data = get_derived_data(responses_dict)
     return derived_data[derived_key]
Exemple #9
0
def forms_to_file(responses_dict, initial=False):
    generated = []
    uploaded = []

    how_to_file = responses_dict.get('how_to_file')
    how_to_sign = responses_dict.get('how_to_sign')
    signing_location_both = responses_dict.get(
        'signing_location') if how_to_sign == 'Together' else None
    signing_location_you = responses_dict.get(
        'signing_location_you') if how_to_sign == 'Separately' else None
    signing_location_spouse = responses_dict.get(
        'signing_location_spouse') if how_to_sign == 'Separately' else None

    derived = responses_dict.get('derived', get_derived_data(responses_dict))

    name_change_you = derived['wants_other_orders'] and responses_dict.get(
        'name_change_you') == 'YES'
    name_change_spouse = derived['wants_other_orders'] and responses_dict.get(
        'name_change_spouse') == 'YES'
    has_children = derived['has_children_of_marriage']

    provide_marriage_certificate = responses_dict.get(
        'original_marriage_certificate') == 'YES'

    if initial:
        generated.append({'doc_type': 'NJF', 'form_number': 1})

        if provide_marriage_certificate:
            uploaded.append({'doc_type': 'MC', 'party_code': 0})
            uploaded.append({'doc_type': 'AFTL', 'party_code': 0})
            uploaded.append({'doc_type': 'EFSS1', 'party_code': 1})

        if signing_location_both == 'In-person' or signing_location_you == 'In-person':
            # claimant 1 is signing with a commissioner
            uploaded.append({'doc_type': 'RDP', 'party_code': 0})

        elif signing_location_you == 'Virtual' and signing_location_spouse == 'In-person':
            # claimant 1 is signing virtually and claimant 2 is not
            generated.append({'doc_type': 'RFO', 'form_number': 35})
            generated.append({'doc_type': 'RCP', 'form_number': 36})
            uploaded.append({'doc_type': 'OFI', 'party_code': 0})
            uploaded.append({'doc_type': 'RDP', 'party_code': 0})
            if has_children:
                uploaded.append({'doc_type': 'AAI', 'party_code': 0})
            if name_change_you:
                uploaded.append({'doc_type': 'NCV', 'party_code': 1})

        elif signing_location_both == 'Virtual' or (
                signing_location_you == 'Virtual'
                and signing_location_spouse == 'Virtual'):
            # both parties (either together or separately) are signing virtually
            generated.append({'doc_type': 'RFO', 'form_number': 35})
            generated.append({'doc_type': 'RCP', 'form_number': 36})
            uploaded.append({'doc_type': 'OFI', 'party_code': 0})
            uploaded.append({'doc_type': 'RDP', 'party_code': 0})
            if has_children:
                uploaded.append({'doc_type': 'AAI', 'party_code': 0})
            if name_change_you:
                uploaded.append({'doc_type': 'NCV', 'party_code': 1})
            if name_change_spouse:
                uploaded.append({'doc_type': 'NCV', 'party_code': 2})
        else:
            return [], []

    else:  # Final Filing
        if signing_location_both == 'Virtual' and how_to_sign == 'Together':
            # if both parties have signed virtually and signing together
            if has_children:
                uploaded.append({'doc_type': 'CSA', 'party_code': 0})
            uploaded.append({'doc_type': 'AFDO', 'party_code': 0})
            uploaded.append({'doc_type': 'EFSS2', 'party_code': 1})
            uploaded.append({'doc_type': 'EFSS2', 'party_code': 2})

        elif signing_location_you == 'Virtual' and signing_location_spouse == 'Virtual' and how_to_sign == 'Separately':
            # both parties have signed virtually and signing separately
            if has_children:
                uploaded.append({'doc_type': 'CSA', 'party_code': 1})
            uploaded.append({'doc_type': 'AFDO', 'party_code': 1})
            uploaded.append({'doc_type': 'EFSS2', 'party_code': 1})
            if has_children:
                uploaded.append({'doc_type': 'CSA', 'party_code': 2})
            uploaded.append({'doc_type': 'AFDO', 'party_code': 2})
            uploaded.append({'doc_type': 'EFSS2', 'party_code': 2})

        elif (signing_location_both == 'In-person'
              or signing_location_you == 'In-person' or signing_location_spouse
              == 'In-person') and how_to_file == 'Online':
            # at least one party has signed with a commissioner and Filing Online
            generated.append({'doc_type': 'RFO', 'form_number': 35})
            generated.append({'doc_type': 'RCP', 'form_number': 36})

            if how_to_sign == 'Together':
                if has_children:
                    uploaded.append({'doc_type': 'CSA', 'party_code': 0})
                uploaded.append({'doc_type': 'AFDO', 'party_code': 0})
            else:
                if has_children:
                    uploaded.append({'doc_type': 'CSA', 'party_code': 1})
                    uploaded.append({'doc_type': 'CSA', 'party_code': 2})
                uploaded.append({'doc_type': 'AFDO', 'party_code': 1})
                uploaded.append({'doc_type': 'AFDO', 'party_code': 2})

            uploaded.append({'doc_type': 'OFI', 'party_code': 0})
            uploaded.append({'doc_type': 'EFSS2', 'party_code': 1})

            if how_to_sign == 'Separately':
                uploaded.append({'doc_type': 'EFSS2', 'party_code': 2})

            if has_children:
                uploaded.append({'doc_type': 'AAI', 'party_code': 0})
            if name_change_you:
                uploaded.append({'doc_type': 'NCV', 'party_code': 1})
            if name_change_spouse:
                uploaded.append({'doc_type': 'NCV', 'party_code': 2})
        else:
            return [], []

    return uploaded, generated
Exemple #10
0
 def context(self):
     responses_dict = get_data_for_user(self.user)
     derived = get_derived_data(responses_dict)
     responses_dict['derived'] = derived
     return responses_dict