From ea86100b7c4d31c0cbb0a32413b6d5864408bf69 Mon Sep 17 00:00:00 2001 From: Benard Ebinu Date: Wed, 13 Dec 2017 14:15:55 -0800 Subject: [PATCH] DIV-546: all fact sheets that relate to claiming hardship --- edivorce/apps/core/static/js/main.js | 54 ++++--- .../partials/fact_sheet_expense.html | 4 +- .../partials/fact_sheet_income_others.html | 4 +- .../fact_sheet_supporting_person.html | 7 +- .../question/06_children_income_expenses.html | 138 ++++++++---------- .../apps/core/templatetags/input_field.py | 5 +- .../apps/core/utils/question_step_mapping.py | 5 +- edivorce/fixtures/Question.json | 73 ++++++++- 8 files changed, 183 insertions(+), 107 deletions(-) diff --git a/edivorce/apps/core/static/js/main.js b/edivorce/apps/core/static/js/main.js index c4b5bc43..df6715fd 100755 --- a/edivorce/apps/core/static/js/main.js +++ b/edivorce/apps/core/static/js/main.js @@ -35,11 +35,10 @@ $(function () { // data-sum_class=[class name] - all elements with the same sum class identifier will be // addends of the same sum. // data-sum_target_id=[target id] - id of the html element where result of sum will be written - $('[data-sum="true"]').on('change', function() { - var sum_class = $(this).data('sum_class'); - var sum_target_id = $(this).data('sum_target_id'); - sumFields('.' + sum_class, '#' + sum_target_id); - }); + $('[data-sum="true"]').on('change', sumFieldOnChange); + + // On page load make sure all sum totals are populated. + $('[data-sum="true"]').each(sumFieldOnChange); // All elements tagged with the following mirror related data attributes // will have the value of the input fields mirror in other html elements. @@ -138,7 +137,7 @@ $(function () { reveal_class: "debt-item-row" }, { - table_selector: "#expense_table", + table_selector: "#claimant_expenses", add_button_selector: "#btn_add_expense", delete_button_selector: ".btn-delete-expense", input_field_selector: ".expense-input-field", @@ -146,7 +145,7 @@ $(function () { reveal_class: "expense-item-row" }, { - table_selector: "#supporting_non_dependent_table", + table_selector: "#supporting_non_dependents", add_button_selector: "#btn_add_supporting_non_dependent", delete_button_selector: ".btn-delete-supporting-non-dependent", input_field_selector: ".supporting-non-dependent-input-field", @@ -154,7 +153,7 @@ $(function () { reveal_class: "supporting-non-dependent-item-row" }, { - table_selector: "#supporting_dependent_table", + table_selector: "#supporting_dependents", add_button_selector: "#btn_add_supporting_dependent", delete_button_selector: ".btn-delete-supporting-dependent", input_field_selector: ".supporting-dependent-input-field", @@ -162,7 +161,7 @@ $(function () { reveal_class: "supporting-dependent-item-row" }, { - table_selector: "#supporting_disabled_table", + table_selector: "#supporting_disabled", add_button_selector: "#btn_add_supporting_disabled", delete_button_selector: ".btn-delete-supporting-disabled", input_field_selector: ".supporting-disabled-input-field", @@ -170,7 +169,7 @@ $(function () { reveal_class: "supporting-disabled-item-row" }, { - table_selector: "#income_others_table", + table_selector: "#income_others", add_button_selector: "#btn_add_income_others", delete_button_selector: ".btn-delete-income-others", input_field_selector: ".income-others-input-field", @@ -444,6 +443,8 @@ var saveListControlRow = function(tableId) { ajaxCall(saveKey, jsonPayload); }; + + var replaceSuffix = function(str, suffix) { if (str !== undefined && str.lastIndexOf('_') !== -1) { str = str.substr(0, str.lastIndexOf('_')); @@ -523,8 +524,8 @@ var deleteAddedTableRow = function(element) { var sumClass = null; var sumTargetId = null; if (sumTargetElement !== undefined) { - sumClass = sumTargetElement.data('sum_class'); - sumTargetId = sumTargetElement.data('sum_target_id'); + sumClass = sumTargetElement.attr('data-sum_class'); + sumTargetId = sumTargetElement.attr('data-sum_target_id'); } var tableId = element.closest('table').prop('id'); @@ -535,7 +536,22 @@ var deleteAddedTableRow = function(element) { } // we want to save the list if we remove an item. - $.proxy(saveListControlRow, element)(tableId); + var payload = []; + var saveKey = tableId; + var tableElement = $('#'+tableId); + var tableRows = tableElement.find('tbody:first').find('tr:gt(0)'); + var saveSelector = tableElement.find('[data-save_select]:first').attr('data-save_select'); + + tableRows.each(function() { + var item = {}; + $(this).find(saveSelector).each(function() { + item[$(this).prop('name')] = $(this).val(); + }); + payload.push(item); + }); + + var jsonPayload = JSON.stringify(payload); + ajaxCall(saveKey, jsonPayload); }; var registerTableRowAddRemoveHandlers = function(settings) { @@ -562,11 +578,7 @@ var registerTableRowAddRemoveHandlers = function(settings) { .on('focusout', function() { $(this).closest('td').removeClass('table-cell-active'); }); - newRow.find('[data-sum="true"]').on('change', function() { - var sumClass = $(this).data('sum_class'); - var sumTargetId = $(this).data('sum_target_id'); - sumFields('.' + sumClass, '#' + sumTargetId); - }); + newRow.find('[data-sum="true"]').on('change', sumFieldOnChange); newRow.find('[data-save_row="true"]').on('change', saveListControlRow); $(settings.table_selector).find('tbody:first').append(newRow); @@ -577,6 +589,12 @@ var registerTableRowAddRemoveHandlers = function(settings) { }); }; +var sumFieldOnChange = function() { + var sumClass = $(this).attr('data-sum_class'); + var sumTargetId = $(this).attr('data-sum_target_id'); + sumFields('.' + sumClass, '#' + sumTargetId); +}; + var sumFields = function(addend_selector, sum_selector) { var total = 0.0; $(addend_selector).each(function () { diff --git a/edivorce/apps/core/templates/partials/fact_sheet_expense.html b/edivorce/apps/core/templates/partials/fact_sheet_expense.html index 559b5de0..43740244 100644 --- a/edivorce/apps/core/templates/partials/fact_sheet_expense.html +++ b/edivorce/apps/core/templates/partials/fact_sheet_expense.html @@ -1,10 +1,10 @@ {% load input_field %} - {% input_field type="text" name="expense_name" value=expense_name maxlength="100" multiple='true' class="fact-sheet-input expense-input-field" placeholder="What is the expense" %} + {% input_field type="text" name="expense_name" value=expense_name maxlength="100" multiple='true' class="fact-sheet-input expense-input-field" placeholder="What is the expense" data_save_row="true" data_save_select=".expense-input-field" data_skip_ajax="true" %}
- {% money_input_field name="expense_amount" value=expense_amount multiple='true' class="money fact-sheet-input expense-input-field" placeholder="00.00" %} + {% money_input_field name="expense_amount" value=expense_amount multiple='true' class="money fact-sheet-input expense-input-field" placeholder="00.00" data_save_row="true" data_save_select=".expense-input-field" data_skip_ajax="true" %}
{% if not exclude_delete_button %} diff --git a/edivorce/apps/core/templates/partials/fact_sheet_income_others.html b/edivorce/apps/core/templates/partials/fact_sheet_income_others.html index 7e40bf3e..14940c9f 100644 --- a/edivorce/apps/core/templates/partials/fact_sheet_income_others.html +++ b/edivorce/apps/core/templates/partials/fact_sheet_income_others.html @@ -1,10 +1,10 @@ {% load input_field %} - {% input_field type="text" name="income_others_name" value=income_others_name maxlength="100" multiple='true' class="fact-sheet-input income-others-input-field" placeholder="Full Name" %} + {% input_field type="text" name="income_others_name" value=income_others_name maxlength="100" multiple='true' class="fact-sheet-input income-others-input-field" placeholder="Full Name" data_save_row="true" data_save_select=".income-others-input-field" data_skip_ajax="true" %}
- {% money_input_field name="income_others_amount" value=income_others_amount class="money fact-sheet-input income-others-input-field input-narrow" step="1" data_sum="true" data_sum_class="income-others-input-field" data_sum_target_id="total_income_others" placeholder="00" %} + {% money_input_field name="income_others_amount" value=income_others_amount class="money fact-sheet-input income-others-input-field income-amount-input-field input-narrow" step="1" data_sum="true" data_sum_class="income-amount-input-field" data_sum_target_id="total_income_others" placeholder="00" data_save_row="true" data_save_select=".income-others-input-field" data_skip_ajax="true" %}
diff --git a/edivorce/apps/core/templates/partials/fact_sheet_supporting_person.html b/edivorce/apps/core/templates/partials/fact_sheet_supporting_person.html index 4592c862..68cc48df 100644 --- a/edivorce/apps/core/templates/partials/fact_sheet_supporting_person.html +++ b/edivorce/apps/core/templates/partials/fact_sheet_supporting_person.html @@ -1,13 +1,14 @@ {% load input_field %} + {% with "fact-sheet-input "|add:input_field_class as input_field_classes %} - {% input_field type="text" name=name_field value=name maxlength="70" class=input_field_classes placeholder="Name" %} + {% input_field type="text" name=name_field value=name maxlength="70" class=input_field_classes placeholder="Name" data_save_row="true" data_skip_ajax="true" data_save_select=save_selector %} - {% input_field type="text" name=relationship_field value=relationship maxlength="150" class=input_field_classes placeholder="" %} + {% input_field type="text" name=relationship_field value=relationship maxlength="150" class=input_field_classes placeholder="" data_save_row="true" data_skip_ajax="true" data_save_select=save_selector %} - {% input_field type="textarea" name=reason_field value=reason maxlength="500" multiple='true' class=input_field_classes placeholder="" %} + {% input_field type="textarea" name=reason_field value=reason maxlength="500" multiple="true" class=input_field_classes placeholder="" data_save_row="true" data_skip_ajax="true" data_save_select=save_selector %} {% endwith %} diff --git a/edivorce/apps/core/templates/question/06_children_income_expenses.html b/edivorce/apps/core/templates/question/06_children_income_expenses.html index 8e09704b..6f6e1aed 100644 --- a/edivorce/apps/core/templates/question/06_children_income_expenses.html +++ b/edivorce/apps/core/templates/question/06_children_income_expenses.html @@ -606,7 +606,7 @@ {% multiple_values_to_list source=claimant_debts as debts %} {% for debt in debts %} - {% include "partials/fact_sheet_excessive_debt.html" with debt_name=debt.debt_name debt_terms=debt.debt_terms debt_monthly_amount=debt.debt_monthly_amount %} + {% include "partials/fact_sheet_excessive_debt.html" with debt_name=debt.debt_name debt_terms=debt.debt_terms debt_monthly_amount=debt.debt_monthly_amount exclude_delete_button=forloop.first %} {% endfor %} {% else %} @@ -628,11 +628,12 @@
+

Unusually high expenses for parenting time, contact with, or access to a child.

For example, airfare and accommodation to visit the child in another city.

- +
@@ -641,33 +642,26 @@ - - {% include "partials/fact_sheet_expense.html" with expense_amount=0 exclude_delete_button=True %} - {% include "partials/fact_sheet_expense.html" with expense_amount=0%} - {% if list_of_expenses and list_of_expenses != '[]' %} - {% multiple_values_to_list source=list_of_expenses as expenses %} - {% for name, amount in expenses %} + {% if claimant_expenses and claimant_expenses != '[{}]' %} + {% multiple_values_to_list source=claimant_expenses as expenses %} + {% for expense in expenses %} - {% include "partials/fact_sheet_expense.html" with expense_name=name expense_amount=amount %} + {% include "partials/fact_sheet_expense.html" with expense_name=expense.expense_name expense_amount=expense.expense_amount exclude_delete_button=forloop.first %} {% endfor %} + {% else %} + + {% include "partials/fact_sheet_expense.html" with expense_amount=0 exclude_delete_button=True %} + {% endif %} - - - - - - -
What is the expense
-
- -
-
+
+ +

@@ -675,7 +669,7 @@

Legal duty to support any other person, such as a former spouse or a new spouse who is too ill or disabled to be able to support himself or herself.

- +
@@ -685,34 +679,26 @@ - - {% include "partials/fact_sheet_supporting_person.html" with exclude_delete_button=True name_field="supporting_non_dependents_name" relationship_field="supporting_non_dependent_relationship" reason_field="supporting_non_dependent_reason" input_field_class="supporting-non-dependent-input-field" delete_button_class="btn-delete-supporting-non-dependent"%} - - {% include "partials/fact_sheet_supporting_person.html" with name_field="supporting_non_dependents_name" relationship_field="supporting_non_dependent_relationship" reason_field="supporting_non_dependent_reason" input_field_class="supporting-non-dependent-input-field" delete_button_class="btn-delete-supporting-non-dependent" %} + {% include "partials/fact_sheet_supporting_person.html" with name_field="non_dependent_name" relationship_field="non_dependent_relationship" reason_field="non_dependent_reason" input_field_class="supporting-non-dependent-input-field" save_selector=".supporting-non-dependent-input-field" delete_button_class="btn-delete-supporting-non-dependent" %} - {% if list_of_supporting_non_dependents and list_of_supporting_non_dependents != '[]' %} - {% multiple_values_to_list source=list_of_supporting_non_dependents as supporting_non_dependents %} - {% for name, relationship, reason in supporting_non_dependents %} + {% if supporting_non_dependents and supporting_non_dependents != '[{}]' %} + {% multiple_values_to_list source=supporting_non_dependents as non_dependents %} + {% for non_dependent in non_dependents %} - {% include "partials/fact_sheet_supporting_person.html" with name_field="supporting_non_dependents_name" relationship_field="supporting_non_dependent_relationship" reason_field="supporting_non_dependent_reason" input_field_class="supporting-non-dependent-input-field" delete_button_class="btn-delete-supporting-non-dependent" name=name relationship=relationship reason=reason %} + {% include "partials/fact_sheet_supporting_person.html" with name_field="non_dependent_name" relationship_field="non_dependent_relationship" reason_field="non_dependent_reason" input_field_class="supporting-non-dependent-input-field" save_selector=".supporting-non-dependent-input-field" delete_button_class="btn-delete-supporting-non-dependent" name=non_dependent.non_dependent_name relationship=non_dependent.non_dependent_relationship reason=non_dependent.non_dependent_reason exclude_delete_button=forloop.first %} {% endfor %} + {% else %} + + {% include "partials/fact_sheet_supporting_person.html" with name_field="non_dependent_name" relationship_field="non_dependent_relationship" reason_field="non_dependent_reason" input_field_class="supporting-non-dependent-input-field" save_selector=".supporting-non-dependent-input-field" delete_button_class="btn-delete-supporting-non-dependent" exclude_delete_button=True %} + {% endif %} - - - - - - - -
Name of person
-
- -
-
+
+ +

Supporting dependent child/children from another relationship.

@@ -721,7 +707,7 @@ Do not include the names of any children for whom you are asking for support for as a part of this divorce application.

- +
@@ -731,38 +717,30 @@ - - {% include "partials/fact_sheet_supporting_person.html" with exclude_delete_button=True name_field="supporting_dependents_name" relationship_field="supporting_dependent_relationship" reason_field="supporting_dependent_reason" input_field_class="supporting-dependent-input-field" delete_button_class="btn-delete-supporting-dependent"%} - - {% include "partials/fact_sheet_supporting_person.html" with name_field="supporting_dependents_name" relationship_field="supporting_dependent_relationship" reason_field="supporting_dependent_reason" input_field_class="supporting-dependent-input-field" delete_button_class="btn-delete-supporting-dependent" %} + {% include "partials/fact_sheet_supporting_person.html" with name_field="supporting_dependent_name" relationship_field="supporting_dependent_relationship" reason_field="supporting_dependent_reason" input_field_class="supporting-dependent-input-field" delete_button_class="btn-delete-supporting-dependent" save_selector=".supporting-dependent-input-field" %} - {% if list_of_supporting_dependents and list_of_supporting_dependents != '[]' %} - {% multiple_values_to_list source=list_of_supporting_dependents as supporting_dependents %} - {% for name, relationship, reason in supporting_dependents %} + {% if supporting_dependents and supporting_dependents != '[{}]' %} + {% multiple_values_to_list source=supporting_dependents as dependents %} + {% for dependent in dependents %} - {% include "partials/fact_sheet_supporting_person.html" with name_field="supporting_dependents_name" relationship_field="supporting_dependent_relationship" reason_field="supporting_dependent_reason" input_field_class="supporting-dependent-input-field" delete_button_class="btn-delete-supporting-dependent" name=name relationship=relationship reason=reason %} + {% include "partials/fact_sheet_supporting_person.html" with name_field="supporting_dependent_name" relationship_field="supporting_dependent_relationship" reason_field="supporting_dependent_reason" input_field_class="supporting-dependent-input-field" delete_button_class="btn-delete-supporting-dependent" save_selector=".supporting-dependent-input-field" name=dependent.supporting_dependent_name relationship=dependent.supporting_dependent_relationship reason=dependent.supporting_dependent_reason exclude_delete_button=forloop.first %} {% endfor %} + {% else %} + + {% include "partials/fact_sheet_supporting_person.html" with exclude_delete_button=True name_field="supporting_dependent_name" relationship_field="supporting_dependent_relationship" reason_field="supporting_dependent_reason" input_field_class="supporting-dependent-input-field" delete_button_class="btn-delete-supporting-dependent" save_selector=".supporting-dependent-input-field"%} + {% endif %} - - - - - - - -
Child's name
-
- -
-
+
+ +

Support for a disabled or ill person.

- +
@@ -772,19 +750,20 @@ - - {% include "partials/fact_sheet_supporting_person.html" with exclude_delete_button=True name_field="supporting_disabled_name" relationship_field="supporting_disabled_relationship" reason_field="supporting_disabled_reason" input_field_class="supporting-disabled-input-field" delete_button_class="btn-delete-supporting-disabled"%} - - {% include "partials/fact_sheet_supporting_person.html" with name_field="supporting_disabled_name" relationship_field="supporting_disabled_relationship" reason_field="supporting_disabled_reason" input_field_class="supporting-disabled-input-field" delete_button_class="btn-delete-supporting-disabled" %} + {% include "partials/fact_sheet_supporting_person.html" with name_field="supporting_disabled_name" relationship_field="supporting_disabled_relationship" reason_field="supporting_disabled_reason" input_field_class="supporting-disabled-input-field" delete_button_class="btn-delete-supporting-disabled" save_selector=".supporting-disabled-input-field" %} - {% if list_of_supporting_disabled and list_of_supporting_disabled != '[]' %} - {% multiple_values_to_list source=list_of_supporting_disabled as supporting_disabled %} - {% for name, relationship, reason in supporting_disabled %} + {% if supporting_disabled and supporting_disabled != '[{}]' %} + {% multiple_values_to_list source=supporting_disabled as dependents %} + {% for dependent in dependents %} - {% include "partials/fact_sheet_supporting_person.html" with name_field="supporting_disabled_name" relationship_field="supporting_disabled_relationship" reason_field="supporting_disabled_reason" input_field_class="supporting-disabled-input-field" delete_button_class="btn-delete-supporting-disabled" name=name relationship=relationship reason=reason %} + {% include "partials/fact_sheet_supporting_person.html" with name_field="supporting_disabled_name" relationship_field="supporting_disabled_relationship" reason_field="supporting_disabled_reason" input_field_class="supporting-disabled-input-field" delete_button_class="btn-delete-supporting-disabled" name=dependent.supporting_disabled_name relationship=dependent.supporting_disabled_relationship reason=dependent.supporting_disabled_reason save_selector=".supporting-disabled-input-field" exclude_delete_button=forloop.first %} {% endfor %} + {% else %} + + {% include "partials/fact_sheet_supporting_person.html" with exclude_delete_button=True name_field="supporting_disabled_name" relationship_field="supporting_disabled_relationship" reason_field="supporting_disabled_reason" input_field_class="supporting-disabled-input-field" delete_button_class="btn-delete-supporting-disabled" exclude_delete_button=True save_selector=".supporting-disabled-input-field"%} + {% endif %} @@ -806,7 +785,7 @@

Income of Other Persons in Household

-
Child's name
+
@@ -815,19 +794,20 @@ - - {% include "partials/fact_sheet_income_others.html" with exclude_delete_button=True income_others_amount=0%} - {% include "partials/fact_sheet_income_others.html" with income_others_amount=0%} - {% if list_of_income_others and list_of_income_others != '[]' %} - {% multiple_values_to_list source=list_of_income_others as incomes %} - {% for name, amount in incomes %} + {% if income_others and income_others != '[{}]' %} + {% multiple_values_to_list source=income_others as incomes %} + {% for income in incomes %} - {% include "partials/fact_sheet_income_others.html" with income_others_name=name income_others_amount=amount %} + {% include "partials/fact_sheet_income_others.html" with income_others_name=income.income_others_name income_others_amount=income.income_others_amount exclude_delete_button=forloop.first %} {% endfor %} + {% else %} + + {% include "partials/fact_sheet_income_others.html" with exclude_delete_button=True income_others_amount=0%} + {% endif %} diff --git a/edivorce/apps/core/templatetags/input_field.py b/edivorce/apps/core/templatetags/input_field.py index e8d9feb0..844d8fb0 100644 --- a/edivorce/apps/core/templatetags/input_field.py +++ b/edivorce/apps/core/templatetags/input_field.py @@ -54,7 +54,10 @@ def input_field(context, type, name='', value='', multiple='', **kwargs): tag.append('>') - tag.append(context.get(name, '')) + if value == '': + tag.append(context.get(name, '')) + else: + tag.append(value) tag.append('') else: diff --git a/edivorce/apps/core/utils/question_step_mapping.py b/edivorce/apps/core/utils/question_step_mapping.py index 7648e6ab..f040fbae 100644 --- a/edivorce/apps/core/utils/question_step_mapping.py +++ b/edivorce/apps/core/utils/question_step_mapping.py @@ -57,7 +57,10 @@ question_step_mapping = { 'spouse_agree_to_child_support_amount', 'spouse_agreed_child_support_amount', 'spouse_reason_child_support_amount', - 'you_spouse_entered_agreement' + 'you_spouse_entered_agreement', + 'claiming_undue_hardship', + 'claimant_debts', + 'claimant_expenses' ], 'spousal_support': ['spouse_support_details', 'spouse_support_act'], 'property_and_debt': ['deal_with_property_debt', diff --git a/edivorce/fixtures/Question.json b/edivorce/fixtures/Question.json index 288205dd..86d8aa38 100644 --- a/edivorce/fixtures/Question.json +++ b/edivorce/fixtures/Question.json @@ -1100,6 +1100,77 @@ }, "model": "core.question", "pk": "claimant_debts" +}, +{ + "fields": { + "name": "Unusually high expenses for parenting time, contact with, or access to a child.", + "description": "For Step 6, Your children - Income & expenses - Spouse Fact Sheet F", + "summary_order": 0, + "required": "Conditional", + "conditional_target": "claiming_undue_hardship", + "reveal_response": "YES" + }, + "model": "core.question", + "pk": "claimant_expenses" +}, +{ + "fields": { + "name": "Supporting another person", + "description": "For Step 6, Your children - Income & expenses - Spouse Fact Sheet F", + "summary_order": 0, + "required": "Conditional", + "conditional_target": "claiming_undue_hardship", + "reveal_response": "YES" + }, + "model": "core.question", + "pk": "supporting_non_dependents" +}, +{ + "fields": { + "name": "Supporting dependent child/children from another relationship.", + "description": "For Step 6, Your children - Income & expenses - Spouse Fact Sheet F", + "summary_order": 0, + "required": "Conditional", + "conditional_target": "claiming_undue_hardship", + "reveal_response": "YES" + }, + "model": "core.question", + "pk": "supporting_dependents" +}, +{ + "fields": { + "name": "Support for a disabled or ill person.", + "description": "For Step 6, Your children - Income & expenses - Spouse Fact Sheet F", + "summary_order": 0, + "required": "Conditional", + "conditional_target": "claiming_undue_hardship", + "reveal_response": "YES" + }, + "model": "core.question", + "pk": "supporting_disabled" +}, +{ + "fields": { + "name": "Other undue hardship circumstances", + "description": "For Step 6, Your children - Income & expenses - Spouse Fact Sheet F", + "summary_order": 0, + "required": "Conditional", + "conditional_target": "claiming_undue_hardship", + "reveal_response": "YES" + }, + "model": "core.question", + "pk": "undue_hardship" +}, +{ + "fields": { + "name": "Income of Other Persons in Household", + "description": "For Step 6, Your children - Income & expenses - Spouse Fact Sheet F", + "summary_order": 0, + "required": "Conditional", + "conditional_target": "claiming_undue_hardship", + "reveal_response": "YES" + }, + "model": "core.question", + "pk": "income_others" } - ]
Name of person