Browse Source

Fix logic so missing extraordinary expenses count towards incomplete children section

pull/160/head
ariannedee 5 years ago
parent
commit
6a8bf87ac9
5 changed files with 43 additions and 33 deletions
  1. +9
    -9
      edivorce/apps/core/templates/question/06_children_income_expenses.html
  2. +8
    -7
      edivorce/apps/core/utils/conditional_logic.py
  3. +4
    -4
      edivorce/apps/core/utils/derived.py
  4. +1
    -6
      edivorce/apps/core/utils/question_step_mapping.py
  5. +21
    -7
      edivorce/fixtures/Question.json

+ 9
- 9
edivorce/apps/core/templates/question/06_children_income_expenses.html View File

@ -306,10 +306,10 @@
</div>
<div id="fact_sheet_a" class="fact-sheets" hidden>
<div class="question-well {% if derived.special_expenses_detail_error %}error{% endif %}">
<h1>Special or Extraordinary Expenses (Fact Sheet A){% if derived.special_expenses_detail_error %}{% include 'partials/required.html' %}{% endif %}</h1>
<div class="question-well {% if derived.special_expenses_missing_error %}error{% endif %}">
<h1>Special or Extraordinary Expenses (Fact Sheet A){% if derived.special_expenses_missing_error %}{% include 'partials/required.html' %}{% endif %}</h1>
<p>Since you have indicated that there are special or extraordinary expenses, we need you to answer the next set of questions.</p>
{% if derived.special_expenses_detail_error %}<p class="warning">
{% if derived.special_expenses_missing_error %}<p class="warning">
* At least one of these values must be greater than 0
</p>{% endif %}
<table class="table table-bordered">
@ -326,7 +326,7 @@
</td>
<td class="fact-sheet-answer table-bordered">
<div class="dollar-prefix">
{% money_input_field name="child_care_expenses" id="child_care_expenses_month" class="fact-sheet-input money extraordinary-expense-monthly positive-float" data_mirror_on_pressed="true" data_mirror_target="#child_care_expenses_year" data_mirror_scale="year_up" data_mirror_broadcast_change="true" %}
{% money_input_field name="child_care_expenses" id="child_care_expenses_month" class="fact-sheet-input money extraordinary-expense-monthly positive-float" data_mirror_on_pressed="true" data_mirror_target="#child_care_expenses_year" data_mirror_scale="year_up" data_mirror_broadcast_change="true" ignore_error=True %}
</div>
</td>
<td class="fact-sheet-answer">
@ -341,7 +341,7 @@
</td>
<td class="fact-sheet-answer">
<div class="dollar-prefix">
{% money_input_field name="children_healthcare_premiums" id="children_healthcare_premiums_month" class="fact-sheet-input money extraordinary-expense-monthly positive-float" data_mirror_on_pressed="true" data_mirror_target="#children_healthcare_premiums_year" data_mirror_scale="year_up" data_mirror_broadcast_change="true" %}
{% money_input_field name="children_healthcare_premiums" id="children_healthcare_premiums_month" class="fact-sheet-input money extraordinary-expense-monthly positive-float" data_mirror_on_pressed="true" data_mirror_target="#children_healthcare_premiums_year" data_mirror_scale="year_up" data_mirror_broadcast_change="true" ignore_error=True %}
</div>
</td>
<td class="fact-sheet-answer">
@ -366,7 +366,7 @@
</td>
<td class="fact-sheet-answer">
<div class="dollar-prefix">
{% money_input_field name="health_related_expenses" id="health_related_expenses_month" class="fact-sheet-input money extraordinary-expense-monthly positive-float" data_mirror_on_pressed="true" data_mirror_target="#health_related_expenses_year" data_mirror_scale="year_up" data_mirror_broadcast_change="true" %}
{% money_input_field name="health_related_expenses" id="health_related_expenses_month" class="fact-sheet-input money extraordinary-expense-monthly positive-float" data_mirror_on_pressed="true" data_mirror_target="#health_related_expenses_year" data_mirror_scale="year_up" data_mirror_broadcast_change="true" ignore_error=True %}
</div>
</td>
<td class="fact-sheet-answer">
@ -391,7 +391,7 @@
</td>
<td class="fact-sheet-answer">
<div class="dollar-prefix">
{% money_input_field name="extraordinary_educational_expenses" id="extraordinary_educational_expenses_month" class="fact-sheet-input money extraordinary-expense-monthly positive-float" data_mirror_on_pressed="true" data_mirror_target="#extraordinary_educational_expenses_year" data_mirror_scale="year_up" data_mirror_broadcast_change="true" %}
{% money_input_field name="extraordinary_educational_expenses" id="extraordinary_educational_expenses_month" class="fact-sheet-input money extraordinary-expense-monthly positive-float" data_mirror_on_pressed="true" data_mirror_target="#extraordinary_educational_expenses_year" data_mirror_scale="year_up" data_mirror_broadcast_change="true" ignore_error=True %}
</div>
</td>
<td class="fact-sheet-answer">
@ -405,7 +405,7 @@
<td class="fact-sheet-question">Post-secondary school expenses</td>
<td class="fact-sheet-answer">
<div class="dollar-prefix">
{% money_input_field name="post_secondary_expenses" id="post_secondary_expenses_month" class="fact-sheet-input extraordinary-expense-monthly positive-float" data_mirror_on_pressed="true" data_mirror_target="#post_secondary_expenses_year" data_mirror_scale="year_up" data_mirror_broadcast_change="true" %}
{% money_input_field name="post_secondary_expenses" id="post_secondary_expenses_month" class="fact-sheet-input extraordinary-expense-monthly positive-float" data_mirror_on_pressed="true" data_mirror_target="#post_secondary_expenses_year" data_mirror_scale="year_up" data_mirror_broadcast_change="true" ignore_error=True %}
</div>
</td>
<td class="fact-sheet-answer">
@ -432,7 +432,7 @@
</td>
<td class="fact-sheet-answer">
<div class="dollar-prefix">
{% money_input_field name="extraordinary_extracurricular_expenses" id="extraordinary_extracurricular_expenses_month" class="fact-sheet-input money extraordinary-expense-monthly positive-float" data_mirror_on_pressed="true" data_mirror_target="#extraordinary_extracurricular_expenses_year" data_mirror_scale="year_up" data_mirror_broadcast_change="true" %}
{% money_input_field name="extraordinary_extracurricular_expenses" id="extraordinary_extracurricular_expenses_month" class="fact-sheet-input money extraordinary-expense-monthly positive-float" data_mirror_on_pressed="true" data_mirror_target="#extraordinary_extracurricular_expenses_year" data_mirror_scale="year_up" data_mirror_broadcast_change="true" ignore_error=True %}
</div>
</td>
<td class="fact-sheet-answer">


+ 8
- 7
edivorce/apps/core/utils/conditional_logic.py View File

@ -111,12 +111,13 @@ def determine_child_support_act_requirement(questions_dict):
return 'Child support' in orders_wanted
def determine_special_expenses_detail_error(questions_dict):
special_expenses_keys = ["child_care_expenses", "annual_child_care_expenses", "children_healthcare_premiums",
"annual_children_healthcare_premiums", "health_related_expenses", "annual_health_related_expenses",
"extraordinary_educational_expenses", "annual_extraordinary_educational_expenses",
"post_secondary_expenses", "annual_post_secondary_expenses", "extraordinary_extracurricular_expenses",
"annual_extraordinary_extracurricular_expenses"]
def determine_missing_extraordinary_expenses(questions_dict):
special_expenses_keys = ["child_care_expenses",
"children_healthcare_premiums",
"health_related_expenses",
"extraordinary_educational_expenses",
"post_secondary_expenses",
"extraordinary_extracurricular_expenses"]
if questions_dict.get('special_extraordinary_expenses') == 'YES':
for special_expense in special_expenses_keys:
@ -132,4 +133,4 @@ def get_cleaned_response_value(response):
ignore_values = [None, '', '[]', '[["",""]]', '[["also known as",""]]']
if response not in ignore_values:
return response
return None
return None

+ 4
- 4
edivorce/apps/core/utils/derived.py View File

@ -21,7 +21,7 @@ from edivorce.apps.core.utils.conditional_logic import (
determine_child_support_payor,
determine_show_fact_sheet_f_spouse,
determine_show_fact_sheet_f_you,
determine_special_expenses_detail_error
determine_missing_extraordinary_expenses
)
DERIVED_DATA = [
@ -86,7 +86,7 @@ DERIVED_DATA = [
'pursuant_parenting_arrangement',
'pursuant_child_support',
'sole_custody',
'special_expenses_detail_error',
'special_expenses_missing_error',
]
@ -739,8 +739,8 @@ def sole_custody(responses, derived):
return conditional_logic.determine_sole_custody(responses)
def special_expenses_detail_error(responses, derived):
return determine_special_expenses_detail_error(responses)
def special_expenses_missing_error(responses, derived):
return determine_missing_extraordinary_expenses(responses)
def _any_question_errors(responses, questions):


+ 1
- 6
edivorce/apps/core/utils/question_step_mapping.py View File

@ -181,7 +181,7 @@ question_step_mapping = {
'annual_gross_income',
'spouse_annual_gross_income',
'payor_monthly_child_support_amount',
# Special extraordinary expenses
# Fact sheet A
'special_extraordinary_expenses',
'child_care_expenses',
'children_healthcare_premiums',
@ -189,11 +189,6 @@ question_step_mapping = {
'extraordinary_educational_expenses',
'post_secondary_expenses',
'extraordinary_extracurricular_expenses',
'total_section_seven_expenses',
'your_proportionate_share_percent',
'your_proportionate_share_amount',
'spouse_proportionate_share_percent',
'spouse_proportionate_share_amount',
'describe_order_special_extra_expenses',
# Payor & Fact Sheets
'child_support_payor',


+ 21
- 7
edivorce/fixtures/Question.json View File

@ -88,7 +88,9 @@
"name": "Do any of the your children live with someone who is not you or your spouse?",
"description": "For pre-qualification step 4, determines eligibility of using the app",
"summary_order": 9,
"required": ""
"required": "Conditional",
"conditional_target": "children_of_marriage",
"reveal_response": "YES"
},
"model": "core.question",
"pk": "children_live_with_others"
@ -1197,7 +1199,9 @@
"name": "Child care expenses for when the recipient works or goes to school",
"description": "For Step 6, Your children - Income & expenses - Spouse Fact Sheet F",
"summary_order": 0,
"required": ""
"required": "Conditional",
"conditional_target": "determine_missing_extraordinary_expenses",
"reveal_response": "True"
},
"model": "core.question",
"pk": "child_care_expenses"
@ -1217,7 +1221,9 @@
"name": "Any healthcare premiums you pay to your employer or other provider to provide the coverage to your children rather than yourself",
"description": "For Step 6, Your children - Income & expenses - Spouse Fact Sheet F",
"summary_order": 0,
"required": ""
"required": "Conditional",
"conditional_target": "determine_missing_extraordinary_expenses",
"reveal_response": "True"
},
"model": "core.question",
"pk": "children_healthcare_premiums"
@ -1237,7 +1243,9 @@
"name": "Health related expenses that exceed insurance reimbursement by at least $100",
"description": "For Step 6, Your children - Income & expenses - Spouse Fact Sheet F",
"summary_order": 0,
"required": ""
"required": "Conditional",
"conditional_target": "determine_missing_extraordinary_expenses",
"reveal_response": "True"
},
"model": "core.question",
"pk": "health_related_expenses"
@ -1257,7 +1265,9 @@
"name": "Extraordinary primary, secondary or other educational expenses",
"description": "For Step 6, Your children - Income & expenses - Spouse Fact Sheet F",
"summary_order": 0,
"required": ""
"required": "Conditional",
"conditional_target": "determine_missing_extraordinary_expenses",
"reveal_response": "True"
},
"model": "core.question",
"pk": "extraordinary_educational_expenses"
@ -1277,7 +1287,9 @@
"name": "Post-secondary school expenses",
"description": "For Step 6, Your children - Income & expenses - Spouse Fact Sheet F",
"summary_order": 0,
"required": ""
"required": "Conditional",
"conditional_target": "determine_missing_extraordinary_expenses",
"reveal_response": "True"
},
"model": "core.question",
"pk": "post_secondary_expenses"
@ -1297,7 +1309,9 @@
"name": "Extraordinary extracurricular activities expenses",
"description": "For Step 6, Your children - Income & expenses - Spouse Fact Sheet F",
"summary_order": 0,
"required": ""
"required": "Conditional",
"conditional_target": "determine_missing_extraordinary_expenses",
"reveal_response": "True"
},
"model": "core.question",
"pk": "extraordinary_extracurricular_expenses"


Loading…
Cancel
Save