From 1758eda5bea26b4cdb8a87706446eb89bc1b9ab9 Mon Sep 17 00:00:00 2001 From: Benard Ebinu Date: Tue, 9 Jan 2018 16:38:21 -0800 Subject: [PATCH] DIV-550: Monthly payor amount question in place --- edivorce/apps/core/static/js/main.js | 43 +++++++ .../question/06_children_payor_medical.html | 105 ++++++++++++++++++ .../apps/core/templatetags/input_field.py | 2 +- edivorce/fixtures/Question.json | 11 +- 4 files changed, 159 insertions(+), 2 deletions(-) diff --git a/edivorce/apps/core/static/js/main.js b/edivorce/apps/core/static/js/main.js index 40bd3b7f..d6d22583 100755 --- a/edivorce/apps/core/static/js/main.js +++ b/edivorce/apps/core/static/js/main.js @@ -458,6 +458,49 @@ $(function () { populateChildrenFactSheets(); }); + var updateClaimantName = function() { + var payor = ''; + var element = $('#__claimant_names'); + $("input[name='child_support_payor']:checked").each(function() { + if ($(this).val() === 'Myself (Claimant 1)') { + payor = element.find('input[name="name_you"]').val() || 'Claimant 1'; + } else if ($(this).val() === 'My Spouse (Claimant 2)') { + payor = element.find('input[name="name_spouse"]').val() || 'Claimant 2'; + } else if ($(this).val() === 'Both myself and my spouse') { + payor = (element.find('input[name="name_you"]').val() || 'Claimant 1') + ' and ' + + (element.find('input[name="name_spouse"]').val() || 'Claimant 2'); + } + }); + + $('.__name-of-payor').text(payor); + + // Check custody conditions and only show additional question of amount payor will pay + // if all of the children are in sole custody of payor. + var children = JSON.parse($('input[name="claimant_children"]').val()); + + var payorElement = $("input[name='child_support_payor']:checked").val(); + var soleCustodyCondition = null; + if (payorElement === 'Myself (Claimant 1)') { + soleCustodyCondition = 'Lives with you' + } else if (payorElement === 'My Spouse (Claimant 2)') { + soleCustodyCondition = 'Lives with spouse'; + } + + var hasSoleCustody = children.every(function(child){ + return soleCustodyCondition && child.child_live_with === soleCustodyCondition + }); + + if (hasSoleCustody) { + $('#monthly_amount_question').show(); + } else { + $('#monthly_amount_question').hide(); + } + }; + + $('#__claimant_names').each(updateClaimantName); + $('input[name="child_support_payor"]').on('change', updateClaimantName); + + $("#btn_add_reconciliation_periods").on('click', function () { $('#reconciliation_period_fields').append($('#reconciliation_period_group').children().clone()); // add event lister for newly added from_date field, to_date field, delete button, and date picker diff --git a/edivorce/apps/core/templates/question/06_children_payor_medical.html b/edivorce/apps/core/templates/question/06_children_payor_medical.html index 1aca32fe..2eb2a361 100644 --- a/edivorce/apps/core/templates/question/06_children_payor_medical.html +++ b/edivorce/apps/core/templates/question/06_children_payor_medical.html @@ -9,6 +9,12 @@ {% block content %}

Step {% step_order step="children" %}:Children - Payor & medical expenses

+ +

Who is the

+ + {% endblock %} diff --git a/edivorce/apps/core/templatetags/input_field.py b/edivorce/apps/core/templatetags/input_field.py index 66ebcad1..46f9e005 100644 --- a/edivorce/apps/core/templatetags/input_field.py +++ b/edivorce/apps/core/templatetags/input_field.py @@ -36,7 +36,7 @@ def money_input_field(context, input_type='number', name='', value_src=None, val if kwargs.get('step', None): step = kwargs.get('step') - tag = ['