SuffolkLITLab / docassemble-MA209AProtectiveOrder

A Docassemble interview for a Massachusetts 209A Protection from Abuse Order
https://www.courtformsonline.org/dv/#209A
Other
1 stars 0 forks source link

Editing defendant info creates an infinite screen #49

Closed plocket closed 3 years ago

plocket commented 3 years ago

Video: https://drive.google.com/file/d/1VGABpGxslDWJ12BtS55XnqnJZfF1AGbZ/view?usp=sharing

Replicate:

  1. Go through the interview with no funny business or weird characters.
  2. For defendant info, select 'full beard'
  3. For other description, put 'Limp'
  4. Complete interview (probably just have to get to the next section)
  5. Tap to edit defendant info session
  6. Tap to edit the 'other info'
  7. Edit and try to continue
  8. Cannot leave page.
Source code for question
(from 209A_defendant-information.yml)

id: defendant vital stats
question: |
  ${other_parties.familiar()}'s physical appearance
subquestion: |
  Answer as many questions below as you can.  
fields:
  - I don't know when ${other_parties.familiar()} was born: dont_know_birthdate
    datatype: yesno
  - Birthdate: other_parties[0].birthdate
    datatype: BirthDate
    hide if: dont_know_birthdate
  - Best estimate of age (in years): other_parties[0].age
    datatype: integer
    show if: dont_know_birthdate
  - "How tall is ${other_parties.familiar()}?": other_parties[0].height
    required: False
    hint: e.g., 5 foot 10 inches
    validate: |
      # If the user entry only includes digits, prompt for a unit as well
      lambda y: True if not y.isnumeric() else validation_error(word("Please include a unit. E.g., 6 foot 1 inch."))
  - "What is ${other_parties.familiar()}'s weight?": other_parties[0].weight
    hint: e.g., 180 pounds
    required: False
    validate: |
      lambda y: True if not y.isnumeric() else validation_error(word("Please include a unit. E.g., 180 pounds."))
  - "What best describes ${other_parties.familiar()}'s body type?": other_parties[0].physical_build
    help: |
      You can choose more than one if that is helpful to describe ${other_parties.familiar()}.
    datatype: checkboxes
    choices:
      - Small: Small
      - Medium: Medium
      - Large: Large
      - Lanky: Lanky
      - Stocky: Stocky
      - Husky: Husky
      - Muscular: Muscular
      - Fat: Fat
      - Thin: Thin
  - 'Does ${other_parties.familiar()} have any of the following?': other_parties[0].physical_other
    required: False
    datatype: checkboxes
    choices:
      - Full beard: Full beard
      - Goatee: Goatee
      - Thin mustache: Thin mustache
      - Thick mustache: Thick mustache
      - Glasses: Glasses
      - Tattoo (describe below): Tattooo
      - Scars: Scars
      - Acne: Acne
  - note: |
      Using your own words, briefly describe anything that would help the police identify ${other_parties.familiar()} that we haven't covered
  - no label: other_parties[0].physical_other_details
    hint: e.g., details about tattoo, unusual walk, etc.
    required: False
validation code: |
  if len(other_parties[0].physical_other_details) > (88 - len(str(other_parties[0].physical_other.true_values()))):
    validation_error("There is only space for " + str((88 - len(str(other_parties[0].physical_other.true_values())))) + " more characters on the form.", field= 'other_parties[0].physical_other_details')
How question came to be asked
Needed definition of other_parties[0].physical_other at 0.00000s
Completed processing at 0.00466s
plocket commented 3 years ago

Variable values for video above:

{
  "encrypted": false, 
  "i": "docassemble.playground12MA209A46DefInfo:209a_package.yml", 
  "steps": 67, 
  "success": true, 
  "uid": "I0j4eIfwI1pEilGxffCpVYUDxiCGrehD", 
  "variables": {
    "A_Plaintiff_Confidential_Information0011": true, 
    "A_Plaintiff_Confidential_Information0011_attachment": {}, 
    "A_Plaintiff_Confidential_Information0011_attachment_preview": {}, 
    "A_Plaintiff_Confidential_Information0011_intro": true, 
    "If_this_is_an_apartment_building_or_other_multiple_family_dwelling_check_here": null, 
    "Limit": 200, 
    "Who_is_allowed_to_see_this_form": true, 
    "_internal": {}, 
    "abuser_caused_plaintiff_to_leave_home": false, 
    "acknowledged_information_use": {
      "_class": "docassemble.base.core.DADict", 
      "ask_number": false, 
      "ask_object_type": false, 
      "auto_gather": false, 
      "complete_attribute": null, 
      "elements": {
        "I accept the terms of use.": true
      }, 
      "gathered": true, 
      "instanceName": "acknowledged_information_use", 
      "minimum_number": null, 
      "object_type": null, 
      "object_type_parameters": {}
    }, 
    "addAddendum_affidavit": false, 
    "addAddendum_confidential": false, 
    "addAddendum_defendant": false, 
    "addresses_to_search": [], 
    "affidavit_body": "It was bad I felt bad", 
    "affidavit_body_cutoff": "It was bad I felt bad\n The preceding statement is a brief summary of the events and does not attempt to capture all the detail of the abuse. ", 
    "affidavit_intro": "\n The preceding statement is a brief summary of the events and does not attempt to capture all the detail of the abuse. ", 
    "affidavit_summary": "It was bad I felt bad\n\n", 
    "after_hours": true, 
    "all_matches": [], 
    "allow_cron": true, 
    "allowed_courts": [
      "District Court", 
      "Boston Municipal Court", 
      "Probate and Family Court", 
      "Superior Court"
    ], 
    "ask_court_question": true, 
    "asked_for_impoundment": false, 
    "basic_questions_intro_screen": true, 
    "basic_questions_signature_flow": true, 
    "cases_other_safe_for_pdf": " (See Addendum)", 
    "children": {
      "_class": "docassemble.MAVirtualCourt.virtual_court_support.PeopleList", 
      "ask_number": true, 
      "ask_object_type": false, 
      "auto_gather": true, 
      "complete_attribute": null, 
      "elements": [], 
      "gathered": true, 
      "instanceName": "children", 
      "minimum_number": null, 
      "object_type": {
        "_class": "type", 
        "name": "docassemble.MAVirtualCourt.virtual_court_support.VCIndividual"
      }, 
      "object_type_parameters": {}, 
      "revisit": true, 
      "target_number": 0
    }, 
    "children_cares_for": {
      "_class": "docassemble.MAVirtualCourt.virtual_court_support.PeopleList", 
      "ask_number": true, 
      "ask_object_type": false, 
      "auto_gather": true, 
      "complete_attribute": null, 
      "elements": [], 
      "gathered": true, 
      "instanceName": "children_cares_for", 
      "minimum_number": null, 
      "object_type": {
        "_class": "type", 
        "name": "docassemble.MAVirtualCourt.virtual_court_support.VCIndividual"
      }, 
      "object_type_parameters": {}, 
      "revisit": true, 
      "target_number": 0
    }, 
    "complaint_209A_Affidavit": true, 
    "complaint_209A_Affidavit_attachment": {}, 
    "complaint_209A_Affidavit_attachment_preview": {}, 
    "complaint_209A_Affidavit_intro": true, 
    "complaint_209A_Affidavit_intro_2": true, 
    "complaint_209A_Affidavit_intro_3": true, 
    "complaint_209A_labeled_page10003": true, 
    "complaint_209A_labeled_page10003_attachment": {}, 
    "complaint_209A_labeled_page10003_attachment_preview": {}, 
    "confidential_address": true, 
    "court_closed_today": false, 
    "court_emails": {}, 
    "court_help_template": {
      "_class": "docassemble.base.core.DALazyTemplate", 
      "instanceName": "court_help_template"
    }, 
    "court_question_template": {
      "_class": "docassemble.base.core.DALazyTemplate", 
      "instanceName": "court_question_template"
    }, 
    "courts": {}, 
    "current_interview_url": "docassemble.playground12MA209A46DefInfo:209a_package.yml", 
    "day": "26th", 
    "defendant": {
      "_class": "docassemble.MAVirtualCourt.virtual_court_support.PeopleList", 
      "ask_number": false, 
      "ask_object_type": false, 
      "auto_gather": true, 
      "complete_attribute": null, 
      "elements": [
        {
          "_class": "docassemble.MAVirtualCourt.virtual_court_support.VCIndividual", 
          "address": {
            "_class": "docassemble.base.util.Address", 
            "address": "1235 K Street", 
            "city": "San Diego", 
            "city_only": false, 
            "geolocated": false, 
            "instanceName": "other_parties[0].address", 
            "location": {
              "_class": "docassemble.base.util.LatitudeLongitude", 
              "gathered": false, 
              "instanceName": "other_parties[0].address.location", 
              "known": false
            }, 
            "state": "CA", 
            "unit": "", 
            "zip": "92101"
          }, 
          "address_floor": "", 
          "age": 24, 
          "best_times_find": "all the time", 
          "birthplace": "", 
          "does_not_have_car": true, 
          "drug_alcohol_abuse": "", 
          "drug_alcohol_no": true, 
          "drug_alcohol_yes": false, 
          "email": "", 
          "employer": "N/A", 
          "eye_color": "Amber", 
          "gender": "female", 
          "gender_female": true, 
          "gender_male": false, 
          "gender_other": false, 
          "gun_license_carry_possess": "", 
          "gun_license_carry_possess_yes": false, 
          "hair_color": "Brown", 
          "height": "5 foot 10 inches", 
          "instanceName": "other_parties[0]", 
          "language_other": "", 
          "location": {
            "_class": "docassemble.base.util.LatitudeLongitude", 
            "gathered": false, 
            "instanceName": "other_parties[0].location", 
            "known": false
          }, 
          "location_best": "home", 
          "location_information_other": "", 
          "locations_other": "", 
          "mobile_number": "", 
          "name": {
            "_class": "docassemble.base.util.IndividualName", 
            "first": "d", 
            "instanceName": "other_parties[0].name", 
            "last": "d", 
            "middle": "", 
            "suffix": "", 
            "uses_parts": true
          }, 
          "name_door_mailbox": "", 
          "other_addresses": {
            "_class": "docassemble.MAVirtualCourt.virtual_court_support.AddressList", 
            "ask_number": false, 
            "ask_object_type": false, 
            "auto_gather": true, 
            "complete_attribute": null, 
            "elements": [], 
            "instanceName": "other_parties[0].other_addresses", 
            "minimum_number": null, 
            "object_type": {
              "_class": "type", 
              "name": "docassemble.base.util.Address"
            }, 
            "object_type_parameters": {}
          }, 
          "phone_number": "", 
          "photo_yes": false, 
          "physical_build": {
            "_class": "docassemble.base.core.DADict", 
            "ask_number": false, 
            "ask_object_type": false, 
            "auto_gather": false, 
            "complete_attribute": null, 
            "elements": {
              "Fat": false, 
              "Husky": false, 
              "Lanky": false, 
              "Large": false, 
              "Medium": false, 
              "Muscular": false, 
              "Small": true, 
              "Stocky": false, 
              "Thin": false
            }, 
            "gathered": true, 
            "instanceName": "other_parties[0].physical_build", 
            "minimum_number": null, 
            "object_type": null, 
            "object_type_parameters": {}
          }, 
          "physical_other": {
            "_class": "docassemble.base.core.DADict", 
            "ask_number": false, 
            "ask_object_type": false, 
            "auto_gather": false, 
            "complete_attribute": null, 
            "elements": {
              "Acne": false, 
              "Full beard": true, 
              "Glasses": false, 
              "Goatee": false, 
              "Scars": false, 
              "Tattooo": false, 
              "Thick mustache": false, 
              "Thin mustache": false
            }, 
            "gathered": true, 
            "instanceName": "other_parties[0].physical_other", 
            "minimum_number": null, 
            "object_type": null, 
            "object_type_parameters": {}
          }, 
          "physical_other_details": "Limp", 
          "police_violence_yes": false, 
          "previous_addresses": {
            "_class": "docassemble.MAVirtualCourt.virtual_court_support.AddressList", 
            "ask_number": false, 
            "ask_object_type": false, 
            "auto_gather": true, 
            "complete_attribute": null, 
            "elements": [], 
            "instanceName": "other_parties[0].previous_addresses", 
            "minimum_number": null, 
            "object_type": {
              "_class": "type", 
              "name": "docassemble.base.util.Address"
            }, 
            "object_type_parameters": {}
          }, 
          "psychiatric_emotional_problems": "", 
          "psychiatric_emotional_problems_no": true, 
          "psychiatric_emotional_problems_yes": false, 
          "race": "White", 
          "social_security_number": "", 
          "understands_english": true, 
          "vehicle_color": "N/A", 
          "vehicle_license_plate": "N/A", 
          "vehicle_make": "N/A", 
          "vehicle_model": "N/A", 
          "vehicle_year": "N/A", 
          "weight": "180 pounds", 
          "work_address": "", 
          "work_department": "", 
          "work_hours": "", 
          "work_phone": "", 
          "work_title": ""
        }
      ], 
      "gathered": true, 
      "instanceName": "other_parties", 
      "minimum_number": null, 
      "object_type": {
        "_class": "type", 
        "name": "docassemble.MAVirtualCourt.virtual_court_support.VCIndividual"
      }, 
      "object_type_parameters": {}, 
      "revisit": true, 
      "there_are_any": true, 
      "there_is_another": false
    }, 
    "defendant_abuse_attempted_physical_harm": false, 
    "defendant_abuse_caused_fear_of_serious_physical_harm": false, 
    "defendant_abuse_caused_physical_harm": true, 
    "defendant_abuse_caused_sexual_assault": false, 
    "defendant_abuse_caused_sexual_assault_force": false, 
    "defendant_abuse_caused_sexual_assault_make": false, 
    "defendant_and_plaintiff_are_dating_or_dated": false, 
    "defendant_and_plaintiff_are_not_related_but_live_together": false, 
    "defendant_and_plaintiff_are_parents_of_child": false, 
    "defendant_and_plaintiff_relationship_not_married_but_are_related": false, 
    "defendant_and_plaintiff_used_to_live_together": false, 
    "defendant_eye_color": "Amber", 
    "defendant_hair_details": "Brown", 
    "defendant_has_alias": false, 
    "defendant_has_guns": {
      "_class": "docassemble.base.core.DADict", 
      "ask_number": false, 
      "ask_object_type": false, 
      "auto_gather": false, 
      "complete_attribute": null, 
      "elements": {
        "FID": false, 
        "ammo": false, 
        "gun": false, 
        "license": false
      }, 
      "gathered": true, 
      "instanceName": "defendant_has_guns", 
      "minimum_number": null, 
      "object_type": null, 
      "object_type_parameters": {}
    }, 
    "defendant_is_major": true, 
    "defendant_location_information_other": "Best place to find: home. Best times to find: all the time. Other places to find: . Other information: ", 
    "defendant_not_employed": true, 
    "defendant_other_description": "Full beard Limp", 
    "defendant_race": "White", 
    "defendant_relationship_to_plaintiff_is": "", 
    "defendant_weapons": "", 
    "defendant_weapons_description": null, 
    "defendant_weapons_safe_for_pdf": "", 
    "defendantinformation209A0008": true, 
    "defendantinformation209A0008_attachment": {}, 
    "defendantinformation209A0008_attachment_preview": {}, 
    "defendantinformation209A0008_intro": true, 
    "defendants": {
      "_class": "docassemble.MAVirtualCourt.virtual_court_support.PeopleList", 
      "ask_number": false, 
      "ask_object_type": false, 
      "auto_gather": true, 
      "complete_attribute": null, 
      "elements": [
        {
          "_class": "docassemble.MAVirtualCourt.virtual_court_support.VCIndividual", 
          "address": {
            "_class": "docassemble.base.util.Address", 
            "address": "1235 K Street", 
            "city": "San Diego", 
            "city_only": false, 
            "geolocated": false, 
            "instanceName": "other_parties[0].address", 
            "location": {
              "_class": "docassemble.base.util.LatitudeLongitude", 
              "gathered": false, 
              "instanceName": "other_parties[0].address.location", 
              "known": false
            }, 
            "state": "CA", 
            "unit": "", 
            "zip": "92101"
          }, 
          "address_floor": "", 
          "age": 24, 
          "best_times_find": "all the time", 
          "birthplace": "", 
          "does_not_have_car": true, 
          "drug_alcohol_abuse": "", 
          "drug_alcohol_no": true, 
          "drug_alcohol_yes": false, 
          "email": "", 
          "employer": "N/A", 
          "eye_color": "Amber", 
          "gender": "female", 
          "gender_female": true, 
          "gender_male": false, 
          "gender_other": false, 
          "gun_license_carry_possess": "", 
          "gun_license_carry_possess_yes": false, 
          "hair_color": "Brown", 
          "height": "5 foot 10 inches", 
          "instanceName": "other_parties[0]", 
          "language_other": "", 
          "location": {
            "_class": "docassemble.base.util.LatitudeLongitude", 
            "gathered": false, 
            "instanceName": "other_parties[0].location", 
            "known": false
          }, 
          "location_best": "home", 
          "location_information_other": "", 
          "locations_other": "", 
          "mobile_number": "", 
          "name": {
            "_class": "docassemble.base.util.IndividualName", 
            "first": "d", 
            "instanceName": "other_parties[0].name", 
            "last": "d", 
            "middle": "", 
            "suffix": "", 
            "uses_parts": true
          }, 
          "name_door_mailbox": "", 
          "other_addresses": {
            "_class": "docassemble.MAVirtualCourt.virtual_court_support.AddressList", 
            "ask_number": false, 
            "ask_object_type": false, 
            "auto_gather": true, 
            "complete_attribute": null, 
            "elements": [], 
            "instanceName": "other_parties[0].other_addresses", 
            "minimum_number": null, 
            "object_type": {
              "_class": "type", 
              "name": "docassemble.base.util.Address"
            }, 
            "object_type_parameters": {}
          }, 
          "phone_number": "", 
          "photo_yes": false, 
          "physical_build": {
            "_class": "docassemble.base.core.DADict", 
            "ask_number": false, 
            "ask_object_type": false, 
            "auto_gather": false, 
            "complete_attribute": null, 
            "elements": {
              "Fat": false, 
              "Husky": false, 
              "Lanky": false, 
              "Large": false, 
              "Medium": false, 
              "Muscular": false, 
              "Small": true, 
              "Stocky": false, 
              "Thin": false
            }, 
            "gathered": true, 
            "instanceName": "other_parties[0].physical_build", 
            "minimum_number": null, 
            "object_type": null, 
            "object_type_parameters": {}
          }, 
          "physical_other": {
            "_class": "docassemble.base.core.DADict", 
            "ask_number": false, 
            "ask_object_type": false, 
            "auto_gather": false, 
            "complete_attribute": null, 
            "elements": {
              "Acne": false, 
              "Full beard": true, 
              "Glasses": false, 
              "Goatee": false, 
              "Scars": false, 
              "Tattooo": false, 
              "Thick mustache": false, 
              "Thin mustache": false
            }, 
            "gathered": true, 
            "instanceName": "other_parties[0].physical_other", 
            "minimum_number": null, 
            "object_type": null, 
            "object_type_parameters": {}
          }, 
          "physical_other_details": "Limp", 
          "police_violence_yes": false, 
          "previous_addresses": {
            "_class": "docassemble.MAVirtualCourt.virtual_court_support.AddressList", 
            "ask_number": false, 
            "ask_object_type": false, 
            "auto_gather": true, 
            "complete_attribute": null, 
            "elements": [], 
            "instanceName": "other_parties[0].previous_addresses", 
            "minimum_number": null, 
            "object_type": {
              "_class": "type", 
              "name": "docassemble.base.util.Address"
            }, 
            "object_type_parameters": {}
          }, 
          "psychiatric_emotional_problems": "", 
          "psychiatric_emotional_problems_no": true, 
          "psychiatric_emotional_problems_yes": false, 
          "race": "White", 
          "social_security_number": "", 
          "understands_english": true, 
          "vehicle_color": "N/A", 
          "vehicle_license_plate": "N/A", 
          "vehicle_make": "N/A", 
          "vehicle_model": "N/A", 
          "vehicle_year": "N/A", 
          "weight": "180 pounds", 
          "work_address": "", 
          "work_department": "", 
          "work_hours": "", 
          "work_phone": "", 
          "work_title": ""
        }
      ], 
      "gathered": true, 
      "instanceName": "other_parties", 
      "minimum_number": null, 
      "object_type": {
        "_class": "type", 
        "name": "docassemble.MAVirtualCourt.virtual_court_support.VCIndividual"
      }, 
      "object_type_parameters": {}, 
      "revisit": true, 
      "there_are_any": true, 
      "there_is_another": false
    }, 
    "docket_numbers": {
      "_class": "docassemble.base.core.DAList", 
      "ask_number": false, 
      "ask_object_type": false, 
      "auto_gather": false, 
      "complete_attribute": null, 
      "elements": [
        ""
      ], 
      "gathered": true, 
      "instanceName": "docket_numbers", 
      "minimum_number": null, 
      "object_type": null, 
      "object_type_parameters": {}
    }, 
    "dont_know_birthdate": true, 
    "fill_in_court_name": true, 
    "final_attachment_collection": {}, 
    "github_repo_name": "docassemble-MAVirtualCourt", 
    "has_evidence": false, 
    "have_had_custody_cases": false, 
    "have_had_paternity_cases": false, 
    "impound_case_record_information": false, 
    "impound_personal_information": false, 
    "impoundment_intro": true, 
    "incident": {
      "_class": "docassemble.base.core.DAObject", 
      "complete": true, 
      "description": "It was bad", 
      "feelings": "I felt bad", 
      "injuries": false, 
      "instanceName": "incidents_of_abuse[0]", 
      "medical": false, 
      "pets": false, 
      "police": false, 
      "property": false, 
      "reminders": true, 
      "summary": "It was bad I felt bad"
    }, 
    "incident_date": "1/1, 2021", 
    "incidents_of_abuse": {
      "_class": "docassemble.base.core.DAList", 
      "ask_number": false, 
      "ask_object_type": false, 
      "auto_gather": true, 
      "complete_attribute": "complete", 
      "elements": [
        {
          "_class": "docassemble.base.core.DAObject", 
          "complete": true, 
          "description": "It was bad", 
          "feelings": "I felt bad", 
          "injuries": false, 
          "instanceName": "incidents_of_abuse[0]", 
          "medical": false, 
          "pets": false, 
          "police": false, 
          "property": false, 
          "reminders": true, 
          "summary": "It was bad I felt bad"
        }
      ], 
      "gathered": true, 
      "instanceName": "incidents_of_abuse", 
      "minimum_number": 1, 
      "object_type": {
        "_class": "type", 
        "name": "docassemble.base.core.DAObject"
      }, 
      "object_type_parameters": {}, 
      "revisit": true, 
      "there_are_any": true, 
      "there_is_another": false
    }, 
    "interview_metadata": {}, 
    "is_dating_only": false, 
    "js_text": "  //this is an adaptation of Jonathan Pyle's datereplace.js\n  $(document).on('daPageLoad', function(){\n    $('input[type=\"ThreePartsDate\"]').each(function(){\n  \t  var dateElement = this;\n  \t  $(dateElement).hide();\n  \t  $(dateElement).attr('type', 'hidden');\n      \n      //Construct the input components\n  \t  var parentElement = $('<div class=\"form-row\">');\t  \n  \t  var monthParent = $('<div class=\"col\">');\n      var monthLabel = $('<div style=\"text-align:center\">Month</div>');\t    \n      var monthElement = $('<select class=\"form-control\" style=\"width:7.5em\" required>');\n  \t  var dayParent = $('<div class=\"col\">');    \n      var dayLabel = $('<div style=\"text-align:center\">Day</div>');    \n      var dayElement = $('<input type=\"text\" class=\"form-control\" type=\"number\" min=\"1\" max=\"31\"  required>' );  \n      var yearParent = $('<div class=\"col\">');\t  \n      var yearLabel = $('<div style=\"text-align:center\">Year</div>');\n      //Do not restrict year input range for now. \n      var yearElement = $('<input type=\"text\" class=\"form-control\" type=\"number\" required>');\n  \t    \n      // If we're returning to a variable that has already been defined\n      // prepare to use that variable's values\n      var dateParts;\n      if ( $(dateElement).val() ) {\n        dateParts = $(dateElement).val().split( '/' );\n        dateParts.forEach( function( part, index, dateParts ) {\n          dateParts[ index ] = parseInt( part );\n        });\n      } else {\n        dateParts = null;\n      }\n          \n      // Create contents of visible input fields\t  \n      // \"No month selected\" option\n  \t  var opt = $(\"<option>\");\n  \t  opt.val(\"\");\n  \t  opt.text(\"    \");\n  \t  monthElement.append(opt);\n      // Add every calendar month (based on user's computer's date system? lanugage?)\n  \t  for(var month=0; month < 12; month++){\n  \t      opt = $(\"<option>\");\n  \t      if (month < 9){\n  \t  \topt.val('0' + (month + 1));\n  \t      }\n  \t      else{\n  \t  \topt.val(month + 1);\n  \t      }\n  \t      var dt = new Date(1970, month, 1);\n  \t      opt.text(dt.toLocaleString('default', { month: 'long' }));\n          // Use previous values if possible\n          if ( dateParts && parseInt( opt.val()) == dateParts[ 0 ]) {\n            opt.attr('selected', 'selected');\n          }\n  \t      monthElement.append(opt);\n  \t  }\n    \n      // Use previous values if possible\n  \t  if ( dateParts ) {\t\t\n  \t  \tdayElement.val( dateParts[ 1 ]);\n  \t  \tyearElement.val( dateParts[ 2 ]);\n  \t  }\n      \n      //Update original element\n  \t  function updateDate(){\n  \t  \t$(dateElement).val($(monthElement).val() + '/' + $(dayElement).val() + '/' + $(yearElement).val());\t\n  \t  }\t\n  \t  \n  \t  $(dateElement).before(parentElement);\t\n  \t  $(monthParent).append(monthLabel);\n  \t  $(monthParent).append(monthElement);\n  \t  $(parentElement).append(monthParent);\t\n  \t  $(dayParent).append(dayLabel);\n  \t  $(dayParent).append(dayElement);\n  \t  $(parentElement).append(dayParent);\t\n  \t  $(yearParent).append(yearLabel);\n  \t  $(yearParent).append(yearElement);\n  \t  $(parentElement).append(yearParent);\n  \t  \n  \t  yearElement.on('change', updateDate);\n  \t  monthElement.on('change', updateDate);\n  \t  dayElement.on('change', updateDate);\t\n  \t  updateDate();\n    });\n  });  \n  $.validator.addMethod('ThreePartsDate', function(value, element, params){\n    //Placeholder. Will add client side validation here down the road.\n    return /^\\d{1,2}\\/\\d{1,2}\\/\\d{4}$/.test(value);  \n  });\n", 
    "lives_in_domestic_violence_shelter": false, 
    "losses_caused_by_defendant": null, 
    "macourts": {}, 
    "main_209A_package_intro": true, 
    "mavc_version": "MAVC-1.0.20", 
    "month": "January", 
    "most_recent_abuse_date": "1/1", 
    "most_recent_abuse_year": "2021", 
    "multi_user": true, 
    "nav": {
      "current": "section_filing", 
      "hidden": false, 
      "past": [
        "section_child_support", 
        "section_relationship", 
        "section_signature", 
        "section_children", 
        "section_filing", 
        "section_affidavit", 
        "section_basic", 
        "section_care_custody", 
        "section_privacy", 
        "section_your_info", 
        "section_relief", 
        "section_defendant_info", 
        "section_cases_with_defendant", 
        "section_court", 
        "review_exhibits"
      ], 
      "progressive": true
    }, 
    "need_affidavit_body_addendum": false, 
    "need_cases_addendum": false, 
    "need_confidential_info_addendum": false, 
    "need_gun_addendum": false, 
    "need_page1_addendum": false, 
    "needs_attorney_signature": false, 
    "next_steps": {}, 
    "no_abuse_checked": false, 
    "order_defendant_no_contact_unless_court_authorized_yes": true, 
    "order_defendant_pay_amount": null, 
    "order_defendant_pay_temporary_support_to_plaintiff_yes": false, 
    "order_defendant_pay_yes": false, 
    "order_defendant_remain_away_plaintiff_residence_yes": false, 
    "order_defendant_remain_away_plaintiff_school_yes": false, 
    "order_defendant_remain_away_plaintiff_workplace_yes": false, 
    "order_defendant_stop_abuse_yes": true, 
    "order_impound_plaintiff_address_residential_yes": false, 
    "order_impound_plaintiff_address_school": false, 
    "order_impound_plaintiff_address_work_yes": false, 
    "order_other_relief_yes": false, 
    "order_page_two_relief_yes": false, 
    "order_relief_ex_parte": true, 
    "other_cases": {
      "_class": "docassemble.base.core.DAList", 
      "ask_number": false, 
      "ask_object_type": false, 
      "auto_gather": true, 
      "complete_attribute": "complete", 
      "elements": [], 
      "gathered": true, 
      "instanceName": "other_cases", 
      "minimum_number": null, 
      "object_type": {
        "_class": "type", 
        "name": "docassemble.base.util.Thing"
      }, 
      "object_type_parameters": {}, 
      "revisit": true, 
      "there_are_any": false
    }, 
    "other_parties": {
      "_class": "docassemble.MAVirtualCourt.virtual_court_support.PeopleList", 
      "ask_number": false, 
      "ask_object_type": false, 
      "auto_gather": true, 
      "complete_attribute": null, 
      "elements": [
        {
          "_class": "docassemble.MAVirtualCourt.virtual_court_support.VCIndividual", 
          "address": {
            "_class": "docassemble.base.util.Address", 
            "address": "1235 K Street", 
            "city": "San Diego", 
            "city_only": false, 
            "geolocated": false, 
            "instanceName": "other_parties[0].address", 
            "location": {
              "_class": "docassemble.base.util.LatitudeLongitude", 
              "gathered": false, 
              "instanceName": "other_parties[0].address.location", 
              "known": false
            }, 
            "state": "CA", 
            "unit": "", 
            "zip": "92101"
          }, 
          "address_floor": "", 
          "age": 24, 
          "best_times_find": "all the time", 
          "birthplace": "", 
          "does_not_have_car": true, 
          "drug_alcohol_abuse": "", 
          "drug_alcohol_no": true, 
          "drug_alcohol_yes": false, 
          "email": "", 
          "employer": "N/A", 
          "eye_color": "Amber", 
          "gender": "female", 
          "gender_female": true, 
          "gender_male": false, 
          "gender_other": false, 
          "gun_license_carry_possess": "", 
          "gun_license_carry_possess_yes": false, 
          "hair_color": "Brown", 
          "height": "5 foot 10 inches", 
          "instanceName": "other_parties[0]", 
          "language_other": "", 
          "location": {
            "_class": "docassemble.base.util.LatitudeLongitude", 
            "gathered": false, 
            "instanceName": "other_parties[0].location", 
            "known": false
          }, 
          "location_best": "home", 
          "location_information_other": "", 
          "locations_other": "", 
          "mobile_number": "", 
          "name": {
            "_class": "docassemble.base.util.IndividualName", 
            "first": "d", 
            "instanceName": "other_parties[0].name", 
            "last": "d", 
            "middle": "", 
            "suffix": "", 
            "uses_parts": true
          }, 
          "name_door_mailbox": "", 
          "other_addresses": {
            "_class": "docassemble.MAVirtualCourt.virtual_court_support.AddressList", 
            "ask_number": false, 
            "ask_object_type": false, 
            "auto_gather": true, 
            "complete_attribute": null, 
            "elements": [], 
            "instanceName": "other_parties[0].other_addresses", 
            "minimum_number": null, 
            "object_type": {
              "_class": "type", 
              "name": "docassemble.base.util.Address"
            }, 
            "object_type_parameters": {}
          }, 
          "phone_number": "", 
          "photo_yes": false, 
          "physical_build": {
            "_class": "docassemble.base.core.DADict", 
            "ask_number": false, 
            "ask_object_type": false, 
            "auto_gather": false, 
            "complete_attribute": null, 
            "elements": {
              "Fat": false, 
              "Husky": false, 
              "Lanky": false, 
              "Large": false, 
              "Medium": false, 
              "Muscular": false, 
              "Small": true, 
              "Stocky": false, 
              "Thin": false
            }, 
            "gathered": true, 
            "instanceName": "other_parties[0].physical_build", 
            "minimum_number": null, 
            "object_type": null, 
            "object_type_parameters": {}
          }, 
          "physical_other": {
            "_class": "docassemble.base.core.DADict", 
            "ask_number": false, 
            "ask_object_type": false, 
            "auto_gather": false, 
            "complete_attribute": null, 
            "elements": {
              "Acne": false, 
              "Full beard": true, 
              "Glasses": false, 
              "Goatee": false, 
              "Scars": false, 
              "Tattooo": false, 
              "Thick mustache": false, 
              "Thin mustache": false
            }, 
            "gathered": true, 
            "instanceName": "other_parties[0].physical_other", 
            "minimum_number": null, 
            "object_type": null, 
            "object_type_parameters": {}
          }, 
          "physical_other_details": "Limp", 
          "police_violence_yes": false, 
          "previous_addresses": {
            "_class": "docassemble.MAVirtualCourt.virtual_court_support.AddressList", 
            "ask_number": false, 
            "ask_object_type": false, 
            "auto_gather": true, 
            "complete_attribute": null, 
            "elements": [], 
            "instanceName": "other_parties[0].previous_addresses", 
            "minimum_number": null, 
            "object_type": {
              "_class": "type", 
              "name": "docassemble.base.util.Address"
            }, 
            "object_type_parameters": {}
          }, 
          "psychiatric_emotional_problems": "", 
          "psychiatric_emotional_problems_no": true, 
          "psychiatric_emotional_problems_yes": false, 
          "race": "White", 
          "social_security_number": "", 
          "understands_english": true, 
          "vehicle_color": "N/A", 
          "vehicle_license_plate": "N/A", 
          "vehicle_make": "N/A", 
          "vehicle_model": "N/A", 
          "vehicle_year": "N/A", 
          "weight": "180 pounds", 
          "work_address": "", 
          "work_department": "", 
          "work_hours": "", 
          "work_phone": "", 
          "work_title": ""
        }
      ], 
      "gathered": true, 
      "instanceName": "other_parties", 
      "minimum_number": null, 
      "object_type": {
        "_class": "type", 
        "name": "docassemble.MAVirtualCourt.virtual_court_support.VCIndividual"
      }, 
      "object_type_parameters": {}, 
      "revisit": true, 
      "there_are_any": true, 
      "there_is_another": false
    }, 
    "other_relief": null, 
    "package_name": "docassemble.playground12MA209A46DefInfo", 
    "package_version_number": "1.0.20", 
    "parents": {
      "_class": "docassemble.base.core.DADict", 
      "ask_number": false, 
      "ask_object_type": false, 
      "auto_gather": true, 
      "complete_attribute": null, 
      "elements": {
        "0": "", 
        "1": ""
      }, 
      "instanceName": "parents", 
      "minimum_number": null, 
      "object_type": null, 
      "object_type_parameters": {}
    }, 
    "pattern": false, 
    "pattern_description": "", 
    "persons_authorized_confidential_information": "", 
    "persons_authorized_confidential_information_cutoff": "", 
    "plaintiff_and_defendant_other_case_description": "", 
    "plaintiff_and_defendant_other_case_no": true, 
    "plaintiff_and_defendant_other_case_yes": false, 
    "plaintiff_assistant_relationship_to_plaintiff": null, 
    "plaintiff_has_children_cares_for": false, 
    "plaintiff_has_children_parent_of": false, 
    "plaintiff_has_minor_children": false, 
    "plaintiff_is_major_no": false, 
    "plaintiff_is_major_yes": true, 
    "plaintiffs": {
      "_class": "docassemble.MAVirtualCourt.virtual_court_support.PeopleList", 
      "ask_number": false, 
      "ask_object_type": false, 
      "auto_gather": true, 
      "complete_attribute": null, 
      "elements": [
        {
          "_class": "docassemble.MAVirtualCourt.virtual_court_support.VCIndividual", 
          "address": {
            "_class": "docassemble.base.util.Address", 
            "address": "123 Antwerp Street", 
            "city": "Boston", 
            "city_only": false, 
            "country": "US", 
            "county": "Suffolk County", 
            "geolocate_response": {}, 
            "geolocate_success": true, 
            "geolocated": true, 
            "instanceName": "users[0].address", 
            "location": {
              "_class": "docassemble.base.util.LatitudeLongitude", 
              "description": "123 Antwerp Street [NEWLINE] Boston, MA 02134", 
              "gathered": true, 
              "instanceName": "users[0].address.location", 
              "known": true, 
              "latitude": 42.3625047, 
              "longitude": -71.1383445
            }, 
            "neighborhood": "Allston", 
            "norm": {}, 
            "norm_long": {}, 
            "one_line": "123 Antwerp St, Allston, MA 02134, USA", 
            "postal_code": "02134", 
            "state": "MA", 
            "street": "Antwerp St", 
            "street_number": "123", 
            "sublocality_level_5": "123", 
            "unit": "", 
            "zip": "02134"
          }, 
          "apartment_yes": false, 
          "birthdate": "2001-01-01T00:00:00-05:00", 
          "email": "", 
          "instanceName": "users[0]", 
          "location": {
            "_class": "docassemble.base.util.LatitudeLongitude", 
            "gathered": false, 
            "instanceName": "users[0].location", 
            "known": false
          }, 
          "mobile_number": "123", 
          "name": {
            "_class": "docassemble.base.util.IndividualName", 
            "first": "u", 
            "instanceName": "users[0].name", 
            "last": "uu", 
            "middle": "", 
            "suffix": "", 
            "uses_parts": true
          }, 
          "other_addresses": {
            "_class": "docassemble.MAVirtualCourt.virtual_court_support.AddressList", 
            "ask_number": false, 
            "ask_object_type": false, 
            "auto_gather": true, 
            "complete_attribute": null, 
            "elements": [], 
            "gathered": true, 
            "instanceName": "users[0].other_addresses", 
            "minimum_number": null, 
            "object_type": {
              "_class": "type", 
              "name": "docassemble.base.util.Address"
            }, 
            "object_type_parameters": {}, 
            "revisit": true, 
            "there_are_any": false
          }, 
          "other_contact_method": "", 
          "phone_number": "", 
          "previous_addresses": {
            "_class": "docassemble.MAVirtualCourt.virtual_court_support.AddressList", 
            "ask_number": false, 
            "ask_object_type": false, 
            "auto_gather": true, 
            "complete_attribute": null, 
            "elements": [], 
            "gathered": true, 
            "instanceName": "users[0].previous_addresses", 
            "minimum_number": null, 
            "object_type": {
              "_class": "type", 
              "name": "docassemble.base.util.Address"
            }, 
            "object_type_parameters": {}, 
            "revisit": true, 
            "there_are_any": false
          }, 
          "schools": {
            "_class": "docassemble.base.core.DAList", 
            "ask_number": true, 
            "ask_object_type": false, 
            "auto_gather": true, 
            "complete_attribute": "name", 
            "elements": [], 
            "gathered": true, 
            "instanceName": "users[0].schools", 
            "minimum_number": null, 
            "object_type": {
              "_class": "type", 
              "name": "docassemble.base.core.DAObject"
            }, 
            "object_type_parameters": {}, 
            "revisit": true, 
            "there_are_any": false
          }, 
          "signature": {
            "_class": "docassemble.base.core.DAFile", 
            "extension": "png", 
            "filename": "canvas.png", 
            "has_specific_filename": true, 
            "instanceName": "users[0].signature", 
            "mimetype": "image/png", 
            "number": 49705, 
            "ok": true
          }, 
          "states_above_true": {
            "_class": "docassemble.base.core.DADict", 
            "ask_number": false, 
            "ask_object_type": false, 
            "auto_gather": false, 
            "complete_attribute": null, 
            "elements": {
              "I swear that my answers on this form are the truth under penalties of perjury.": true
            }, 
            "gathered": true, 
            "instanceName": "users[0].states_above_true", 
            "minimum_number": null, 
            "object_type": null, 
            "object_type_parameters": {}
          }, 
          "workplaces": {
            "_class": "docassemble.base.core.DAList", 
            "ask_number": true, 
            "ask_object_type": false, 
            "auto_gather": true, 
            "complete_attribute": "name", 
            "elements": [], 
            "gathered": true, 
            "instanceName": "users[0].workplaces", 
            "minimum_number": null, 
            "object_type": {
              "_class": "type", 
              "name": "docassemble.base.core.DAObject"
            }, 
            "object_type_parameters": {}, 
            "revisit": true, 
            "there_are_any": false
          }
        }
      ], 
      "gathered": true, 
      "instanceName": "users", 
      "minimum_number": null, 
      "object_type": {
        "_class": "type", 
        "name": "docassemble.MAVirtualCourt.virtual_court_support.VCIndividual"
      }, 
      "object_type_parameters": {}, 
      "revisit": true, 
      "there_are_any": true, 
      "there_is_another": false
    }, 
    "preferred_court": "", 
    "preview_209a_package": true, 
    "related_as_couple": {
      "_class": "docassemble.base.core.DADict", 
      "ask_number": false, 
      "ask_object_type": false, 
      "auto_gather": false, 
      "complete_attribute": null, 
      "elements": {
        "dated": false, 
        "dating": false, 
        "engaged": false, 
        "past_engaged": false
      }, 
      "gathered": true, 
      "instanceName": "related_as_couple", 
      "minimum_number": null, 
      "object_type": null, 
      "object_type_parameters": {}
    }, 
    "related_by_household": {
      "_class": "docassemble.base.core.DADict", 
      "ask_number": false, 
      "ask_object_type": false, 
      "auto_gather": false, 
      "complete_attribute": null, 
      "elements": {
        "now": true, 
        "past": false
      }, 
      "gathered": true, 
      "instanceName": "related_by_household", 
      "minimum_number": null, 
      "object_type": null, 
      "object_type_parameters": {}
    }, 
    "relationship_to_defendant_married": {
      "_class": "docassemble.base.core.DADict", 
      "ask_number": false, 
      "ask_object_type": false, 
      "auto_gather": false, 
      "complete_attribute": null, 
      "elements": {
        "now": true, 
        "past": false
      }, 
      "gathered": true, 
      "instanceName": "relationship_to_defendant_married", 
      "minimum_number": null, 
      "object_type": null, 
      "object_type_parameters": {}
    }, 
    "sLimit": 184, 
    "saw_incidents": true, 
    "saw_signature_choice": true, 
    "set_interview_defaults": true, 
    "signature": "users[0].signature", 
    "signature_choice": "this device", 
    "signature_date": "2021-01-26T00:00:00-05:00", 
    "signature_fields": [
      "users[0].signature"
    ], 
    "speak_text": true, 
    "started": true, 
    "started_on_phone": false, 
    "temp": [], 
    "test_relationship_does_not_qualify": false, 
    "trigger_page1_computed_values": true, 
    "txtFieldsList_affidavit": [], 
    "txtFieldsList_confidential": [], 
    "url_args": {}, 
    "user_has_saved_answers": false, 
    "user_needs_interpreter": false, 
    "user_role": "plaintiff", 
    "user_saw_abuse_explanation": true, 
    "user_saw_relationship": true, 
    "user_saw_what_to_expect": true, 
    "users": {
      "_class": "docassemble.MAVirtualCourt.virtual_court_support.PeopleList", 
      "ask_number": false, 
      "ask_object_type": false, 
      "auto_gather": true, 
      "complete_attribute": null, 
      "elements": [
        {
          "_class": "docassemble.MAVirtualCourt.virtual_court_support.VCIndividual", 
          "address": {
            "_class": "docassemble.base.util.Address", 
            "address": "123 Antwerp Street", 
            "city": "Boston", 
            "city_only": false, 
            "country": "US", 
            "county": "Suffolk County", 
            "geolocate_response": {}, 
            "geolocate_success": true, 
            "geolocated": true, 
            "instanceName": "users[0].address", 
            "location": {
              "_class": "docassemble.base.util.LatitudeLongitude", 
              "description": "123 Antwerp Street [NEWLINE] Boston, MA 02134", 
              "gathered": true, 
              "instanceName": "users[0].address.location", 
              "known": true, 
              "latitude": 42.3625047, 
              "longitude": -71.1383445
            }, 
            "neighborhood": "Allston", 
            "norm": {}, 
            "norm_long": {}, 
            "one_line": "123 Antwerp St, Allston, MA 02134, USA", 
            "postal_code": "02134", 
            "state": "MA", 
            "street": "Antwerp St", 
            "street_number": "123", 
            "sublocality_level_5": "123", 
            "unit": "", 
            "zip": "02134"
          }, 
          "apartment_yes": false, 
          "birthdate": "2001-01-01T00:00:00-05:00", 
          "email": "", 
          "instanceName": "users[0]", 
          "location": {
            "_class": "docassemble.base.util.LatitudeLongitude", 
            "gathered": false, 
            "instanceName": "users[0].location", 
            "known": false
          }, 
          "mobile_number": "123", 
          "name": {
            "_class": "docassemble.base.util.IndividualName", 
            "first": "u", 
            "instanceName": "users[0].name", 
            "last": "uu", 
            "middle": "", 
            "suffix": "", 
            "uses_parts": true
          }, 
          "other_addresses": {
            "_class": "docassemble.MAVirtualCourt.virtual_court_support.AddressList", 
            "ask_number": false, 
            "ask_object_type": false, 
            "auto_gather": true, 
            "complete_attribute": null, 
            "elements": [], 
            "gathered": true, 
            "instanceName": "users[0].other_addresses", 
            "minimum_number": null, 
            "object_type": {
              "_class": "type", 
              "name": "docassemble.base.util.Address"
            }, 
            "object_type_parameters": {}, 
            "revisit": true, 
            "there_are_any": false
          }, 
          "other_contact_method": "", 
          "phone_number": "", 
          "previous_addresses": {
            "_class": "docassemble.MAVirtualCourt.virtual_court_support.AddressList", 
            "ask_number": false, 
            "ask_object_type": false, 
            "auto_gather": true, 
            "complete_attribute": null, 
            "elements": [], 
            "gathered": true, 
            "instanceName": "users[0].previous_addresses", 
            "minimum_number": null, 
            "object_type": {
              "_class": "type", 
              "name": "docassemble.base.util.Address"
            }, 
            "object_type_parameters": {}, 
            "revisit": true, 
            "there_are_any": false
          }, 
          "schools": {
            "_class": "docassemble.base.core.DAList", 
            "ask_number": true, 
            "ask_object_type": false, 
            "auto_gather": true, 
            "complete_attribute": "name", 
            "elements": [], 
            "gathered": true, 
            "instanceName": "users[0].schools", 
            "minimum_number": null, 
            "object_type": {
              "_class": "type", 
              "name": "docassemble.base.core.DAObject"
            }, 
            "object_type_parameters": {}, 
            "revisit": true, 
            "there_are_any": false
          }, 
          "signature": {
            "_class": "docassemble.base.core.DAFile", 
            "extension": "png", 
            "filename": "canvas.png", 
            "has_specific_filename": true, 
            "instanceName": "users[0].signature", 
            "mimetype": "image/png", 
            "number": 49705, 
            "ok": true
          }, 
          "states_above_true": {
            "_class": "docassemble.base.core.DADict", 
            "ask_number": false, 
            "ask_object_type": false, 
            "auto_gather": false, 
            "complete_attribute": null, 
            "elements": {
              "I swear that my answers on this form are the truth under penalties of perjury.": true
            }, 
            "gathered": true, 
            "instanceName": "users[0].states_above_true", 
            "minimum_number": null, 
            "object_type": null, 
            "object_type_parameters": {}
          }, 
          "workplaces": {
            "_class": "docassemble.base.core.DAList", 
            "ask_number": true, 
            "ask_object_type": false, 
            "auto_gather": true, 
            "complete_attribute": "name", 
            "elements": [], 
            "gathered": true, 
            "instanceName": "users[0].workplaces", 
            "minimum_number": null, 
            "object_type": {
              "_class": "type", 
              "name": "docassemble.base.core.DAObject"
            }, 
            "object_type_parameters": {}, 
            "revisit": true, 
            "there_are_any": false
          }
        }
      ], 
      "gathered": true, 
      "instanceName": "users", 
      "minimum_number": null, 
      "object_type": {
        "_class": "type", 
        "name": "docassemble.MAVirtualCourt.virtual_court_support.VCIndividual"
      }, 
      "object_type_parameters": {}, 
      "revisit": true, 
      "there_are_any": true, 
      "there_is_another": false
    }, 
    "who_protecting_screener": "me", 
    "year": "21"
  }
}
nonprofittechy commented 3 years ago

Noticed a typo there (tatooo)

plocket commented 3 years ago

What I have observed: If I comment out the questions about other_parties[0].physical_build and other_parties[0].physical_other, 'Next' works. If either is present and I tap 'Next', the page just scrolls to the top. Variable values say they're both gathered.

---
# The question that gets stuck
id: defendant vital stats
question: |
  ${other_parties.familiar()}'s physical appearance
subquestion: |
  Answer as many questions below as you can.  
fields:
  - I don't know when ${other_parties.familiar()} was born: dont_know_birthdate
    datatype: yesno
  - Birthdate: other_parties[0].birthdate
    datatype: BirthDate
    hide if: dont_know_birthdate
  - Best estimate of age (in years): other_parties[0].age
    datatype: integer
    show if: dont_know_birthdate
  - "How tall is ${other_parties.familiar()}?": other_parties[0].height
    required: False
    hint: e.g., 5 foot 10 inches
    validate: |
      # If the user entry only includes digits, prompt for a unit as well
      lambda y: True if not y.isnumeric() else validation_error(word("Please include a unit. E.g., 6 foot 1 inch."))
  - "What is ${other_parties.familiar()}'s weight?": other_parties[0].weight
    hint: e.g., 180 pounds
    required: False
    validate: |
      lambda y: True if not y.isnumeric() else validation_error(word("Please include a unit. E.g., 180 pounds."))
  - "What best describes ${other_parties.familiar()}'s body type?": other_parties[0].physical_build
    help: |
      You can choose more than one if that is helpful to describe ${other_parties.familiar()}.
    datatype: checkboxes
    choices:
      - Small: Small
      - Medium: Medium
      - Large: Large
      - Lanky: Lanky
      - Stocky: Stocky
      - Husky: Husky
      - Muscular: Muscular
      - Fat: Fat
      - Thin: Thin
  - 'Does ${other_parties.familiar()} have any of the following?': other_parties[0].physical_other
    required: False
    datatype: checkboxes
    choices:
      - Full beard: Full beard
      - Goatee: Goatee
      - Thin mustache: Thin mustache
      - Thick mustache: Thick mustache
      - Glasses: Glasses
      - Tattoo (describe below): Tattooo
      - Scars: Scars
      - Acne: Acne
  - note: |
      Using your own words, briefly describe anything that would help the police identify ${other_parties.familiar()} that we haven't covered
  - no label: other_parties[0].physical_other_details
    hint: e.g., details about tattoo, unusual walk, etc.
    required: False
validation code: |
  if len(other_parties[0].physical_other_details) > (88 - len(str(other_parties[0].physical_other.true_values()))):
    validation_error("There is only space for " + str((88 - len(str(other_parties[0].physical_other.true_values())))) + " more characters on the form.", field= 'other_parties[0].physical_other_details')
---
# Review screen
id: section_defendant_info
event: section_defendant_info
question: |
  Identifying the Defendant
review:
  - Edit alias: defendant_has_alias
    button: |
      ${yesno(defendant_has_alias)}
      % if defendant_has_alias:
      , ${ other_parties[0].name_other }
      % endif
  - Edit birthdate: dont_know_birthdate
    button: |
      You said ${other_parties.familiar()}
      % if dont_know_birthdate:
      is about ${other_parties[0].age} years old.
      % else:
      was born on ${other_parties[0].birthdate.format()}.
      % endif
  - Edit birthplace: other_parties[0].birthplace
    button: |
      Birthplace: ${other_parties[0].birthplace}
  - Edit name: parents[0]
    button: |
      Mother's maiden name/Name of parent 1: ${parents[0]}
  - Edit name: parents[1]
    button: |
      Father's name/Name of parent 2: ${parents[1]}
  - Edit SSN: other_parties[0].social_security_number
    button: |
      You said the last 4 digits of ${other_parties.familiar()}'s
      SSN are ${other_parties[0].social_security_number}.
  - Edit language: other_parties[0].understands_english
    button: |
      ${other_parties.familiar()}
      % if other_parties[0].understands_english:
      understands English.
      % else:
      does not understand English, and prefers ${other_parties[0].language_other}.
      % endif
  - Edit photo status:
    - other_parties[0].photo_yes
    button: |
      You said you
      % if other_parties[0].photo_yes:
      do
      % else:
      do not
      % endif
      have a photo of ${other_parties.familiar()}
  - Edit photo:
    - photo_upload    
    button: |
      ${photo_upload.show(width="1in")}
  - Edit race: 
    - other_parties[0].race
    - recompute:
      - defendant_race
    button: |
      ${defendant_race}
  - Edit eye color: other_parties[0].eye_color
    recompute:
      - defendant_eye_color
    button: |
      ${defendant_eye_color}
  - Edit hair color:    
    - other_parties[0].hair_color
    - recompute:
      - defendant_hair_details
    button: |
      ${other_parties[0].hair_color}
  - Edit description: 
    - other_parties[0].physical_other
    - recompute:
      - defendant_other_description
    button: |
      ${defendant_other_description}
  - Edit contact:
    - other_parties[0].phone_number
    button: |
      Phone: ${showifdef('other_parties[0].phone_number')}  
      Email: ${showifdef('other_parties[0].email')}
  - Edit address: 
    - other_parties[0].address.address
    button: |
      ${other_parties[0].address.block()}
  - Edit location:
    - other_parties[0].location_best
    - recompute:
      - defendant_location_information_other
    button: |
      ${defendant_location_information_other}
  - Edit work:
    - defendant_not_employed
    button: |
      You said that ${other_parties.familiar()}          
      % if defendant_not_employed:
      is not
      % else:
      is
      % endif
      working.
  - Edit employer: other_parties[0].employer
    button: |
      ${other_parties[0].employer}  
      ${showifdef('other_parties[0].work_address')}  
      ${showifdef('other_parties[0].work_phone')}  
      ${showifdef('other_parties[0].work_title')}  
      ${showifdef('other_parties[0].work_department')}  
      ${showifdef('other_parties[0].work_hours')}
  - Edit car status:
    - other_parties[0].does_not_have_car
  - Edit car:
    - other_parties[0].vehicle_color
    button: |
      ${showifdef('other_parties[0].vehicle_color')}  
      ${showifdef('other_parties[0].vehicle_make')}  
      ${showifdef('other_parties[0].vehicle_model')}  
      ${showifdef('other_parties[0].vehicle_year')}  
      ${showifdef('other_parties[0].vehicle_license_plate')}
  - Edit service information:
    - other_parties[0].police_violence_yes
    button: |
      History of violence: ${yesno(other_parties[0].police_violence_yes)}  
      Use of drugs/alcohol: ${yesno(other_parties[0].drug_alcohol_yes)} ${showifdef('other_parties[0].drug_alcohol_abuse')}  
      Mental health problems: ${yesno(other_parties[0].psychiatric_emotional_problems_yes)} ${showifdef('other_parties[0].psychiatric_emotional_problems')}  
  - Edit guns:
    - defendant_has_guns['gun']
    button: |
      ${defendant_has_guns.true_values()}  ${showifdef('defendant_weapons_description')}  
################################################# Plaintiff confidential information
---
# The code that gets recomputed with .physical_other
code: |
  defendant_race = other_parties[0].race if not other_parties[0].race == 'other' else other_parties[0].race_other
  defendant_eye_color = other_parties[0].eye_color if not other_parties[0].eye_color == 'other/unknown' else other_parties[0].eye_other
  defendant_hair_details = other_parties[0].hair_color if not other_parties[0].hair_color == "other" else other_parties[0].hair_color_other
  defendant_other_description = str(other_parties[0].physical_other.true_values()) + space('other_parties[0].physical_other_details')
---
plocket commented 3 years ago

This error happens when all of these are true:

If all those are true the BirthDate field will consider itself invalid and not allow the user to continue and also doesn't show a validation error.

we do need to fix it or workaround it somehow. hard to run into but nasty bug that's live now.we could:

  1. fix the bug
  2. temporarily disable the review screen
  3. temporarily move the checkboxes onto their own screen

3 seems like the safest small fix to try before the demo on Monday

Responding question:

I agree. Do we want @CaroRob to do this to get the wording down or should we assign that to one of us?

plocket commented 3 years ago

I confirm this bug still exists, @nonprofittechy