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)
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)
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)
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
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)
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)
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
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]
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
def context(self): responses_dict = get_data_for_user(self.user) derived = get_derived_data(responses_dict) responses_dict['derived'] = derived return responses_dict