From bdb1d71620ee46a434b49245eaf56773ee129ea8 Mon Sep 17 00:00:00 2001 From: Charles Shin Date: Thu, 1 Aug 2019 15:04:19 -0700 Subject: [PATCH 1/2] DIV-949: Fixed amount total gets value of not shown factsheet. --- .../core/templates/question/06_children_facts.html | 14 +++++++++++--- edivorce/apps/core/utils/derived.py | 5 ++++- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/edivorce/apps/core/templates/question/06_children_facts.html b/edivorce/apps/core/templates/question/06_children_facts.html index 28064916..705fb18e 100644 --- a/edivorce/apps/core/templates/question/06_children_facts.html +++ b/edivorce/apps/core/templates/question/06_children_facts.html @@ -227,7 +227,7 @@
- {% money_input_field name="difference_payment_amounts_b" value="" class="money fact-sheet-input different-payment-amounts" readonly="" data_sum="true" data_sum_class="different-payment-amounts" data_sum_target_id="total_spouse_paid_child_support" %} + {% money_input_field name="difference_payment_amounts_b" value="" class="money fact-sheet-input different-payment-amounts" readonly="" data_mirror="true" data_mirror_target="#total_spouse_paid_child_support_b" data_mirror_broadcast_change="true" data_sum="true" data_sum_class="different-payment-amounts" data_sum_target_id="total_spouse_paid_child_support" %}
@@ -367,7 +367,7 @@
- {% money_input_field name="difference_payment_amounts_c" class="fact-sheet-input different-payment-amounts" readonly="" data_sum="true" data_sum_class="different-payment-amounts" data_sum_target_id="total_spouse_paid_child_support" %} + {% money_input_field id="difference_payment_amounts_c" name="difference_payment_amounts_c" class="fact-sheet-input different-payment-amounts" readonly="" data_mirror="true" data_mirror_target="#total_spouse_paid_child_support_c" data_mirror_broadcast_change="true" data_sum="true" data_sum_class="different-payment-amounts" data_sum_target_id="total_spouse_paid_child_support" %}
@@ -474,10 +474,18 @@ This information is needed for the Judge. You will be able to indicate a different child support amount in a following step.

- {% if derived.show_fact_sheet_b or derived.show_fact_sheet_c %} + {% if derived.show_fact_sheet_b and derived.show_fact_sheet_c %}
{% money_input_field id="total_spouse_paid_child_support" name="total_spouse_paid_child_support" value=derived.guideline_amounts_difference_total class="fact-sheet-input money input-narrow form-block response-textbox" readonly="" %}
+ {% elif derived.show_fact_sheet_b %} +
+ {% money_input_field id="total_spouse_paid_child_support_b" name="total_spouse_paid_child_support" class="fact-sheet-input money input-narrow form-block response-textbox" readonly="" %} +
+ {% elif derived.show_fact_sheet_c %} +
+ {% money_input_field id="total_spouse_paid_child_support_c" name="total_spouse_paid_child_support" class="fact-sheet-input money input-narrow form-block response-textbox" readonly="" %} +
{% else %}
{% money_input_field name="total_spouse_paid_child_support" value_src="payor_monthly_child_support_amount" class="fact-sheet-input money input-narrow form-block response-textbox" readonly="" %} diff --git a/edivorce/apps/core/utils/derived.py b/edivorce/apps/core/utils/derived.py index dac491b1..00be7f3c 100644 --- a/edivorce/apps/core/utils/derived.py +++ b/edivorce/apps/core/utils/derived.py @@ -284,7 +284,10 @@ def guideline_amounts_difference_total(responses, derived): Return the sum of the guideline amounts B and C """ - return derived['guideline_amounts_difference_b'] + derived['guideline_amounts_difference_c'] + amount_b = derived['guideline_amounts_difference_b'] if derived['show_fact_sheet_b'] else 0 + amount_c = derived['guideline_amounts_difference_c'] if derived['show_fact_sheet_c'] else 0 + + return amount_b + amount_c def schedule_1_amount(responses, derived): From fc5d9f53a83eb9fcf183f3dfafe0fe33ef413052 Mon Sep 17 00:00:00 2001 From: Charles Shin Date: Fri, 2 Aug 2019 17:09:04 -0700 Subject: [PATCH 2/2] DIV-949: Added logic to check payor and calculate total based on that. --- edivorce/apps/core/static/js/main.js | 67 ++++++++++++++++++ .../templates/question/06_children_facts.html | 70 +++++++++++-------- edivorce/apps/core/utils/derived.py | 53 +++++++++++++- 3 files changed, 158 insertions(+), 32 deletions(-) diff --git a/edivorce/apps/core/static/js/main.js b/edivorce/apps/core/static/js/main.js index 1bd1227f..dd25d2cf 100755 --- a/edivorce/apps/core/static/js/main.js +++ b/edivorce/apps/core/static/js/main.js @@ -366,6 +366,12 @@ $(function () { } else { $('#fact_sheet_c').hide(); } + + // Initiate Child support payor. + populateChildSupportPayor(childWithBoth, childWithYou, childWithSpouse); + $('.determine-payor').on('change', function() { + populateChildSupportPayor(childWithBoth, childWithYou, childWithSpouse); + }); }; var populateChildrenFactSheets = function() { @@ -389,6 +395,67 @@ $(function () { evaluateFactSheetShowCriteria(childrenData); }; + var populateChildSupportPayor = function(childWithBoth, childWithYou, childWithSpouse) { + // Get the payor and different amounts using the Factsheets presented and their values + // + var amount_b_you = $('#fact_b_your_child_support_paid').val(); + var amount_b_spouse = $('#fact_b_your_spouse_child_support_paid').val(); + var amount_c_you = $('#fact_c_your_child_support_paid').val(); + var amount_c_spouse = $('#fact_c_your_spouse_child_support_paid').val(); + + // Show factsheet logic is same as evaluateFactSheetShowCriteria() + var show_factsheet_b = childWithBoth ? true : false; + var show_factsheet_c = ((childWithYou && (childWithSpouse || childWithBoth)) || (childWithSpouse && (childWithYou || childWithBoth))) ? true : false; + var payor_b = findPayor(amount_b_you, amount_b_spouse); + var payor_c = findPayor(amount_c_you, amount_c_spouse); + var diff_amounts_b = Math.abs(amount_b_you - amount_b_spouse); + var diff_amounts_c = Math.abs(amount_c_you - amount_c_spouse); + var payor_total = ''; + var diff_amounts_total = 0; + + if (show_factsheet_b && show_factsheet_c) { + // If payor is same for Factsheet B and C, total is Sum of two differences + // Otherwise it is subtraction and whoever with the greater number is the payor. + // Payor is Both when amounts are same (when total is 0) + if (payor_b === payor_c) { + payor_total = payor_b; + diff_amounts_total = diff_amounts_b + diff_amounts_c; + } else { + diff_amounts_total = Math.abs(diff_amounts_b - diff_amounts_c); + if (diff_amounts_b > diff_amounts_c) { + payor_total = payor_b; + } else if (diff_amounts_b < diff_amounts_c) { + payor_total = payor_c; + } else { + payor_total = 'Both myself and my spouse'; + } + } + } else if (show_factsheet_b && !show_factsheet_c) { + // If only Factsheet B, use values from Factsheet B + payor_total = payor_b; + diff_amounts_total = diff_amounts_b; + } else if (show_factsheet_c && !show_factsheet_b) { + // If only Factsheet C, use values from Factsheet C + payor_total = payor_c; + diff_amounts_total = diff_amounts_c; + } + + // Update value for Payor radio button and Factsheet D total support amount field. + $('#total_spouse_paid_child_support').val(diff_amounts_total); + $('input[name=child_support_payor][value="' + payor_total + '"]').prop("checked", true).change(); + }; + + var findPayor = function(amount_you, amount_spouse) { + // Find payor based on the amount. + if (parseFloat(amount_you) > parseFloat(amount_spouse)) { + return 'Myself (Claimant 1)'; + } else if (parseFloat(amount_you) < parseFloat(amount_spouse)) { + return 'My Spouse (Claimant 2)'; + } else { + return 'Both myself and my spouse'; + } + }; + var saveChildQuestions = function(options) { if (options !== undefined && options.persist) { var childrenData = []; diff --git a/edivorce/apps/core/templates/question/06_children_facts.html b/edivorce/apps/core/templates/question/06_children_facts.html index 705fb18e..d630b7e9 100644 --- a/edivorce/apps/core/templates/question/06_children_facts.html +++ b/edivorce/apps/core/templates/question/06_children_facts.html @@ -115,12 +115,12 @@
- {% money_input_field id="fact_b_your_child_support_paid" name="your_child_support_paid_b" class="fact-sheet-input claimants-child-support-amounts" data_calc_delta="true" data_delta_term_selector=".claimants-child-support-amounts" data_delta_target_selector="input[name=difference_payment_amounts_b]" placeholder="enter amount" %} + {% money_input_field id="fact_b_your_child_support_paid" name="your_child_support_paid_b" class="fact-sheet-input claimants-child-support-amounts determine-payor" data_calc_delta="true" data_delta_term_selector=".claimants-child-support-amounts" data_delta_target_selector="input[name=difference_payment_amounts_b]" placeholder="enter amount" %}
- {% money_input_field id="fact_b_your_spouse_child_support_paid" name="your_spouse_child_support_paid_b" class="fact-sheet-input claimants-child-support-amounts" data_calc_delta="true" data_delta_term_selector=".claimants-child-support-amounts" data_delta_target_selector="input[name=difference_payment_amounts_b]" placeholder="enter amount" %} + {% money_input_field id="fact_b_your_spouse_child_support_paid" name="your_spouse_child_support_paid_b" class="fact-sheet-input claimants-child-support-amounts determine-payor" data_calc_delta="true" data_delta_term_selector=".claimants-child-support-amounts" data_delta_target_selector="input[name=difference_payment_amounts_b]" placeholder="enter amount" %}
@@ -227,7 +227,7 @@
- {% money_input_field name="difference_payment_amounts_b" value="" class="money fact-sheet-input different-payment-amounts" readonly="" data_mirror="true" data_mirror_target="#total_spouse_paid_child_support_b" data_mirror_broadcast_change="true" data_sum="true" data_sum_class="different-payment-amounts" data_sum_target_id="total_spouse_paid_child_support" %} + {% money_input_field name="difference_payment_amounts_b" value="" class="money fact-sheet-input different-payment-amounts" readonly="" %}
@@ -302,7 +302,7 @@
- {% money_input_field id="fact_c_your_spouse_child_support_paid" name="your_spouse_child_support_paid_c" class="fact-sheet-input money claimants-child-support-paid" data_calc_delta="true" data_delta_term_selector=".claimants-child-support-paid" data_delta_target_selector="input[name=difference_payment_amounts_c]" %} + {% money_input_field id="fact_c_your_spouse_child_support_paid" name="your_spouse_child_support_paid_c" class="fact-sheet-input money claimants-child-support-paid determine-payor" data_calc_delta="true" data_delta_term_selector=".claimants-child-support-paid" data_delta_target_selector="input[name=difference_payment_amounts_c]" %}
@@ -357,7 +357,7 @@
- {% money_input_field id="fact_c_your_child_support_paid" name="your_child_support_paid_c" class="fact-sheet-input money claimants-child-support-paid" data_calc_delta="true" data_delta_term_selector=".claimants-child-support-paid" data_delta_target_selector="input[name=difference_payment_amounts_c]" %} + {% money_input_field id="fact_c_your_child_support_paid" name="your_child_support_paid_c" class="fact-sheet-input money claimants-child-support-paid determine-payor" data_calc_delta="true" data_delta_term_selector=".claimants-child-support-paid" data_delta_target_selector="input[name=difference_payment_amounts_c]" %}
@@ -367,7 +367,7 @@
- {% money_input_field id="difference_payment_amounts_c" name="difference_payment_amounts_c" class="fact-sheet-input different-payment-amounts" readonly="" data_mirror="true" data_mirror_target="#total_spouse_paid_child_support_c" data_mirror_broadcast_change="true" data_sum="true" data_sum_class="different-payment-amounts" data_sum_target_id="total_spouse_paid_child_support" %} + {% money_input_field id="difference_payment_amounts_c" name="difference_payment_amounts_c" class="fact-sheet-input different-payment-amounts" readonly="" %}
@@ -401,21 +401,39 @@ Please select one

-
- -
-
- -
-
- -
+ {% if derived.show_fact_sheet_b or derived.show_fact_sheet_c %} +
+ +
+
+ +
+
+ +
+ {% else %} +
+ +
+
+ +
+
+ +
+ {% endif %}