Browse Source

Merge pull request #142 from bcgov/page-updates

DIV-1219: Optionally show Marriage Certificate form requirements
pull/172/head
Arianne 5 years ago
committed by GitHub
parent
commit
a6e16b04a0
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 86 additions and 36 deletions
  1. +9
    -7
      edivorce/apps/core/templates/dashboard/print_form.html
  2. +67
    -19
      edivorce/apps/core/tests/test_filing.py
  3. +10
    -10
      edivorce/apps/core/utils/cso_filing.py

+ 9
- 7
edivorce/apps/core/templates/dashboard/print_form.html View File

@ -416,7 +416,8 @@
<h3>Additional Documents to Print and Complete</h3> <h3>Additional Documents to Print and Complete</h3>
<p>The following additional documents are required as part of your filing:</p> <p>The following additional documents are required as part of your filing:</p>
<ul> <ul>
<li>
{% if original_marriage_certificate == 'YES' %}
<li>
<span class="tooltip-link" data-toggle="tooltip" data-placement="right" <span class="tooltip-link" data-toggle="tooltip" data-placement="right"
data-html="true" data-html="true"
title=" title="
@ -427,17 +428,18 @@
<br /><br /> <br /><br />
- Does not require signatures. - Does not require signatures.
">Proof of marriage<i class="fa fa-question-circle" aria-hidden="true"></i></span>. ">Proof of marriage<i class="fa fa-question-circle" aria-hidden="true"></i></span>.
Original or certified Marriage Certificate or Registration of Divorce. If not in English, also provide
<span class="tooltip-link" data-toggle="tooltip" data-placement="right"
data-html="true"
title="
Original or certified Marriage Certificate or Registration of Divorce. If not in English, also provide
<span class="tooltip-link" data-toggle="tooltip" data-placement="right"
data-html="true"
title="
<b>Affidavit of Translation</b> <b>Affidavit of Translation</b>
<br /><br /> <br /><br />
The Affidavit of Translation is an affidavit which is sworn by a translator before a notary, lawyer or commissioner for taking Affidavits. The Affidavit of Translation is an affidavit which is sworn by a translator before a notary, lawyer or commissioner for taking Affidavits.
The original certificate of marriage should be exhibited to the Affidavit of Translation together with the translation of the translator. The original certificate of marriage should be exhibited to the Affidavit of Translation together with the translation of the translator.
">Affidavit of Translation<i class="fa fa-question-circle" aria-hidden="true"></i></span> ">Affidavit of Translation<i class="fa fa-question-circle" aria-hidden="true"></i></span>
and English translation.
</li>
and English translation.
</li>
{% endif %}
<li> <li>
<span class="tooltip-link" data-toggle="tooltip" data-placement="right" <span class="tooltip-link" data-toggle="tooltip" data-placement="right"
data-html="true" data-html="true"


+ 67
- 19
edivorce/apps/core/tests/test_filing.py View File

@ -21,56 +21,74 @@ class FilingLogic(TestCase):
def questions_dict(self): def questions_dict(self):
return get_data_for_user(self.user) return get_data_for_user(self.user)
def test_forms_to_file_initial_together_in_person(self):
def assert_package_1_needed(uploaded, generated):
self.assertEqual(len(uploaded), 2)
self.assertIn({'doc_type': doc_type("proof of marriage"), 'party_code': 0}, uploaded)
def test_initial_forms_to_file_in_person(self):
def assert_package_1_needed():
self.create_response('original_marriage_certificate', 'NO')
self.create_response('where_were_you_married_country', 'Canada')
self.create_response('where_were_you_married_prov', 'BC')
# Base forms required
uploaded, generated = forms_to_file(self.questions_dict, initial=True)
self.assertEqual(len(uploaded), 1)
self.assertIn({'doc_type': doc_type("joint divorce proceedings"), 'party_code': 0}, uploaded) self.assertIn({'doc_type': doc_type("joint divorce proceedings"), 'party_code': 0}, uploaded)
self.assertEqual(len(generated), 1) self.assertEqual(len(generated), 1)
self.assertIn({'doc_type': doc_type("notice of joint family claim"), 'form_number': 1}, generated) self.assertIn({'doc_type': doc_type("notice of joint family claim"), 'form_number': 1}, generated)
# Marriage certificate required
self.create_response('original_marriage_certificate', 'YES')
uploaded, generated = forms_to_file(self.questions_dict, initial=True)
self.assertEqual(len(uploaded), 2)
self.assertIn({'doc_type': doc_type("proof of marriage"), 'party_code': 0}, uploaded)
# Affidavit of translation required
self.create_response('where_were_you_married_prov', 'QC')
uploaded, generated = forms_to_file(self.questions_dict, initial=True)
self.assertEqual(len(uploaded), 3)
self.assertIn({'doc_type': doc_type("affidavit of translation"), 'party_code': 0}, uploaded)
self.create_response('how_to_sign', 'Together') self.create_response('how_to_sign', 'Together')
self.create_response('signing_location', 'In-person') self.create_response('signing_location', 'In-person')
uploaded, generated = forms_to_file(self.questions_dict, initial=True)
assert_package_1_needed(uploaded, generated)
assert_package_1_needed()
self.create_response('how_to_sign', 'Separately') self.create_response('how_to_sign', 'Separately')
self.create_response('signing_location_you', 'In-person') self.create_response('signing_location_you', 'In-person')
self.create_response('signing_location_spouse', 'In-person') self.create_response('signing_location_spouse', 'In-person')
uploaded, generated = forms_to_file(self.questions_dict, initial=True)
assert_package_1_needed(uploaded, generated)
assert_package_1_needed()
self.create_response('how_to_sign', 'Separately') self.create_response('how_to_sign', 'Separately')
self.create_response('signing_location_you', 'In-person') self.create_response('signing_location_you', 'In-person')
self.create_response('signing_location_spouse', 'Virtual') self.create_response('signing_location_spouse', 'Virtual')
uploaded, generated = forms_to_file(self.questions_dict, initial=True)
assert_package_1_needed(uploaded, generated)
assert_package_1_needed()
def test_forms_to_file_both_virtual_prov_quebec(self):
def test_initial_forms_to_file_both_virtual(self):
def assert_package_1_2_3_needed(with_efss_spouse=False): def assert_package_1_2_3_needed(with_efss_spouse=False):
# No conditional forms # No conditional forms
self.create_response('children_of_marriage', 'NO') self.create_response('children_of_marriage', 'NO')
self.create_response('name_change_you', 'NO') self.create_response('name_change_you', 'NO')
self.create_response('name_change_spouse', 'NO') self.create_response('name_change_spouse', 'NO')
self.create_response('original_marriage_certificate', 'NO')
self.create_response('where_were_you_married_country', 'Canada')
self.create_response('where_were_you_married_prov', 'BC')
uploaded, generated = forms_to_file(self.questions_dict, initial=True) uploaded, generated = forms_to_file(self.questions_dict, initial=True)
doc_count = len(uploaded) doc_count = len(uploaded)
if with_efss_spouse: if with_efss_spouse:
self.assertEqual(doc_count, 6)
self.assertEqual(doc_count, 4)
else: else:
self.assertEqual(doc_count, 5)
self.assertIn({'doc_type': doc_type("proof of marriage"), 'party_code': 0}, uploaded)
self.assertEqual(doc_count, 3)
self.assertIn({'doc_type': doc_type("draft final order"), 'party_code': 0}, uploaded) self.assertIn({'doc_type': doc_type("draft final order"), 'party_code': 0}, uploaded)
self.assertIn({'doc_type': doc_type("joint divorce proceedings"), 'party_code': 0}, uploaded) self.assertIn({'doc_type': doc_type("joint divorce proceedings"), 'party_code': 0}, uploaded)
self.assertIn({'doc_type': doc_type("electronic filing"), 'party_code': 1}, uploaded) self.assertIn({'doc_type': doc_type("electronic filing"), 'party_code': 1}, uploaded)
if with_efss_spouse: if with_efss_spouse:
self.assertIn({'doc_type': doc_type("electronic filing"), 'party_code': 2}, uploaded) self.assertIn({'doc_type': doc_type("electronic filing"), 'party_code': 2}, uploaded)
self.assertIn({'doc_type': doc_type("affidavit of translation"), 'party_code': 0}, uploaded)
self.assertEqual(len(generated), 3) self.assertEqual(len(generated), 3)
self.assertIn({'doc_type': doc_type("notice of joint family claim"), 'form_number': 1}, generated) self.assertIn({'doc_type': doc_type("notice of joint family claim"), 'form_number': 1}, generated)
@ -95,10 +113,22 @@ class FilingLogic(TestCase):
self.assertEqual(len(uploaded), doc_count + 3) self.assertEqual(len(uploaded), doc_count + 3)
self.assertIn({'doc_type': doc_type("identification of applicant"), 'party_code': 2}, uploaded) self.assertIn({'doc_type': doc_type("identification of applicant"), 'party_code': 2}, uploaded)
# Marriage certificate required
self.create_response('original_marriage_certificate', 'YES')
uploaded, generated = forms_to_file(self.questions_dict, initial=True)
self.assertEqual(len(uploaded), doc_count + 4)
self.assertIn({'doc_type': doc_type("proof of marriage"), 'party_code': 0}, uploaded)
# Affidavit of translation + F96 required
self.create_response('where_were_you_married_prov', 'QC')
uploaded, generated = forms_to_file(self.questions_dict, initial=True)
self.assertEqual(len(uploaded), doc_count + 5)
self.assertIn({'doc_type': doc_type("affidavit of translation"), 'party_code': 0}, uploaded)
self.create_response('how_to_sign', 'Together') self.create_response('how_to_sign', 'Together')
self.create_response('signing_location', 'Virtual') self.create_response('signing_location', 'Virtual')
self.create_response('where_were_you_married_country', 'Canada')
self.create_response('where_were_you_married_prov', 'QC')
assert_package_1_2_3_needed() assert_package_1_2_3_needed()
@ -108,12 +138,16 @@ class FilingLogic(TestCase):
assert_package_1_2_3_needed(with_efss_spouse=True) assert_package_1_2_3_needed(with_efss_spouse=True)
def test_forms_to_file_you_virtual_spouse_in_person(self):
def test_initial_forms_to_file_you_virtual_spouse_in_person(self):
def assert_package_1_2_needed(): def assert_package_1_2_needed():
# No conditional forms
self.create_response('original_marriage_certificate', 'NO')
self.create_response('where_were_you_married_country', 'Canada')
self.create_response('where_were_you_married_prov', 'BC')
uploaded, generated = forms_to_file(self.questions_dict, initial=True) uploaded, generated = forms_to_file(self.questions_dict, initial=True)
self.assertEqual(len(uploaded), 3) self.assertEqual(len(uploaded), 3)
self.assertIn({'doc_type': doc_type("proof of marriage"), 'party_code': 0}, uploaded)
self.assertIn({'doc_type': doc_type("electronic filing"), 'party_code': 1}, uploaded)
self.assertIn({'doc_type': doc_type("draft final order"), 'party_code': 0}, uploaded) self.assertIn({'doc_type': doc_type("draft final order"), 'party_code': 0}, uploaded)
self.assertIn({'doc_type': doc_type("joint divorce proceedings"), 'party_code': 0}, uploaded) self.assertIn({'doc_type': doc_type("joint divorce proceedings"), 'party_code': 0}, uploaded)
@ -136,6 +170,20 @@ class FilingLogic(TestCase):
self.assertEqual(len(uploaded), 5) self.assertEqual(len(uploaded), 5)
self.assertIn({'doc_type': doc_type("identification of applicant"), 'party_code': 1}, uploaded) self.assertIn({'doc_type': doc_type("identification of applicant"), 'party_code': 1}, uploaded)
# Marriage certificate required
self.create_response('original_marriage_certificate', 'YES')
uploaded, generated = forms_to_file(self.questions_dict, initial=True)
self.assertEqual(len(uploaded), 6)
self.assertIn({'doc_type': doc_type("proof of marriage"), 'party_code': 0}, uploaded)
# Affidavit of translation required
self.create_response('where_were_you_married_prov', 'QC')
uploaded, generated = forms_to_file(self.questions_dict, initial=True)
self.assertEqual(len(uploaded), 7)
self.assertIn({'doc_type': doc_type("affidavit of translation"), 'party_code': 0}, uploaded)
self.create_response('how_to_sign', 'Separately') self.create_response('how_to_sign', 'Separately')
self.create_response('signing_location_you', 'Virtual') self.create_response('signing_location_you', 'Virtual')
self.create_response('signing_location_spouse', 'In-person') self.create_response('signing_location_spouse', 'In-person')


+ 10
- 10
edivorce/apps/core/utils/cso_filing.py View File

@ -69,15 +69,17 @@ def forms_to_file(responses_dict, initial=False):
name_change_spouse = derived['wants_other_orders'] and responses_dict.get('name_change_spouse') == 'YES' name_change_spouse = derived['wants_other_orders'] and responses_dict.get('name_change_spouse') == 'YES'
has_children = derived['has_children_of_marriage'] has_children = derived['has_children_of_marriage']
provide_marriage_certificate = responses_dict.get('original_marriage_certificate') == 'YES'
married_in_canada = responses_dict.get('where_were_you_married_country') == 'Canada' married_in_canada = responses_dict.get('where_were_you_married_country') == 'Canada'
marriage_province = responses_dict.get('where_were_you_married_prov', '').strip().upper() marriage_province = responses_dict.get('where_were_you_married_prov', '').strip().upper()
married_in_quebec = married_in_canada and marriage_province.startswith('Q')
married_in_quebec = married_in_canada and marriage_province.lower().startswith('q')
if initial: if initial:
generated.append({'doc_type': 'NJF', 'form_number': 1}) generated.append({'doc_type': 'NJF', 'form_number': 1})
uploaded.append({'doc_type': 'MC', 'party_code': 0})
if married_in_quebec:
uploaded.append({'doc_type': 'AFTL', 'party_code': 0})
if provide_marriage_certificate:
uploaded.append({'doc_type': 'MC', 'party_code': 0})
if married_in_quebec:
uploaded.append({'doc_type': 'AFTL', 'party_code': 0})
if signing_location_both == 'In-person' or signing_location_you == 'In-person': if signing_location_both == 'In-person' or signing_location_you == 'In-person':
# claimant 1 is signing with a commissioner # claimant 1 is signing with a commissioner
@ -88,8 +90,7 @@ def forms_to_file(responses_dict, initial=False):
generated.append({'doc_type': 'RFO', 'form_number': 35}) generated.append({'doc_type': 'RFO', 'form_number': 35})
generated.append({'doc_type': 'RCP', 'form_number': 36}) generated.append({'doc_type': 'RCP', 'form_number': 36})
uploaded.append({'doc_type': 'OFI', 'party_code': 0}) uploaded.append({'doc_type': 'OFI', 'party_code': 0})
if married_in_quebec:
uploaded.append({'doc_type': 'EFSS', 'party_code': 1})
uploaded.append({'doc_type': 'EFSS', 'party_code': 1})
uploaded.append({'doc_type': 'RDP', 'party_code': 0}) uploaded.append({'doc_type': 'RDP', 'party_code': 0})
if has_children: if has_children:
uploaded.append({'doc_type': 'AAI', 'party_code': 0}) uploaded.append({'doc_type': 'AAI', 'party_code': 0})
@ -101,10 +102,9 @@ def forms_to_file(responses_dict, initial=False):
generated.append({'doc_type': 'RFO', 'form_number': 35}) generated.append({'doc_type': 'RFO', 'form_number': 35})
generated.append({'doc_type': 'RCP', 'form_number': 36}) generated.append({'doc_type': 'RCP', 'form_number': 36})
uploaded.append({'doc_type': 'OFI', 'party_code': 0}) uploaded.append({'doc_type': 'OFI', 'party_code': 0})
if married_in_quebec:
uploaded.append({'doc_type': 'EFSS', 'party_code': 1})
if how_to_sign == 'Separately':
uploaded.append({'doc_type': 'EFSS', 'party_code': 2})
uploaded.append({'doc_type': 'EFSS', 'party_code': 1})
if how_to_sign == 'Separately':
uploaded.append({'doc_type': 'EFSS', 'party_code': 2})
uploaded.append({'doc_type': 'RDP', 'party_code': 0}) uploaded.append({'doc_type': 'RDP', 'party_code': 0})
if has_children: if has_children:
uploaded.append({'doc_type': 'AAI', 'party_code': 0}) uploaded.append({'doc_type': 'AAI', 'party_code': 0})


Loading…
Cancel
Save