docassemble.AssemblyLine 4.6.1__tar.gz → 4.6.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {docassemble_assemblyline-4.6.1/docassemble.AssemblyLine.egg-info → docassemble_assemblyline-4.6.3}/PKG-INFO +1 -1
- docassemble_assemblyline-4.6.3/docassemble/AssemblyLine/__init__.py +1 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/al_general.py +38 -32
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/al_question_test.yml +5 -1
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/al_saved_sessions.yml +1 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/al_saved_sessions_store.yml +3 -1
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/al_visual.yml +2 -2
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/demo_search_sessions.yml +2 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/interview_list.yml +3 -1
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/ql_baseline.yml +19 -14
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/ql_catchall.yml +6 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/ql_namechange.yml +39 -39
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/reserved_words.yml +1 -3
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/test_al_table_document.yml +2 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/test_aladdendum.yml +5 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/test_aldocument.yml +1 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/test_aldocument_background_assembly.yml +1 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/test_bundle_parity.yml +8 -1
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/test_familiar_disambiguation.yml +1 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/test_if_final.yml +2 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/test_preferred_formats.yml +2 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/test_preferred_name.yml +8 -1
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/test_question_library.yml +3 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/test_signature.yml +1 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/test_al_general.py +6 -4
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3/docassemble.AssemblyLine.egg-info}/PKG-INFO +1 -1
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/pyproject.toml +1 -1
- docassemble_assemblyline-4.6.1/docassemble/AssemblyLine/__init__.py +0 -1
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/LICENSE +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/MANIFEST.in +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/README.md +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/al_courts.py +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/al_document.py +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/custom_jinja_filters.py +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/al_code.yml +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/al_document.yml +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/al_language.yml +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/al_package.yml +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/al_package_unstyled.yml +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/al_reminders.yml +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/al_settings.yml +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/al_terms_of_use.yml +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/assembly_line.yml +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/assembly_line_unstyled.yml +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/feedback.yml +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/test_alcourts.yml +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/test_alexhibit.yml +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/test_alexhibit_maxsize.yml +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/questions/test_catchall.yml +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/sources/README.md +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/sources/ar-words.yml +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/sources/es-words.yml +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/sources/fr-words.yml +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/sources/languages.yml +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/sources/ne-words.yml +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/sources/test_aldocument.feature +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/sources/test_alexhibit_docx_1.docx +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/sources/test_alexhibit_jpg_1.jpg +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/sources/test_alexhibit_pdf_1.pdf +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/sources/test_alexhibit_png_1.png +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/sources/test_question_library.feature +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/sources/translation_es.xlsx +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/sources/translation_ht.xlsx +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/sources/translation_pt.xlsx +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/static/README.md +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/static/al_audio.css +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/static/al_audio.js +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/static/aldocument.css +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/static/aldocument.js +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/static/interview_list.css +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/static/limit_upload_size.js +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/static/lt1-pullout-10-getting-organized.pdf +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/static/ma_logo.png +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/static/placeholder.png +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/static/seal.jpg +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/static/styles.css +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/templates/README.md +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/templates/al_basic_addendum.docx +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/templates/exhibit_cover_sheet.docx +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/templates/exhibit_table_of_contents.docx +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/templates/general_cover_sheet.docx +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/templates/sample_word_template.docx +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/templates/test_aldocument_docx_1.docx +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/templates/test_aldocument_pdf_1.pdf +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/templates/test_catchall.docx +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/data/templates/test_if_final.docx +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/language.py +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/py.typed +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/sessions.py +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/sign.py +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/test_al_document.py +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/test_all_imports.py +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/test_language.py +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble.AssemblyLine.egg-info/SOURCES.txt +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble.AssemblyLine.egg-info/dependency_links.txt +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble.AssemblyLine.egg-info/requires.txt +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble.AssemblyLine.egg-info/top_level.txt +0 -0
- {docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: docassemble.AssemblyLine
|
|
3
|
-
Version: 4.6.
|
|
3
|
+
Version: 4.6.3
|
|
4
4
|
Summary: Quickly go from a paper court form to a runnable, guided, step-by-step web application powered by Docassemble. Swap out branding and pre-built questions to meet your needs.
|
|
5
5
|
Author-email: Suffolk Legal Innovation and Technology Lab <litlab@suffolk.edu>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = '4.6.3'
|
|
@@ -275,12 +275,18 @@ class ALAddress(Address):
|
|
|
275
275
|
}
|
|
276
276
|
)
|
|
277
277
|
|
|
278
|
+
# All 'field' entries start with the full name of the object (i.e. 'users[1].address...'),
|
|
279
|
+
# so make sure the keys in maxlengths and required have that prefix
|
|
280
|
+
prefix = self.attr_name("")
|
|
281
|
+
rename_key = lambda key: key if key.startswith(prefix) else prefix + key
|
|
278
282
|
if maxlengths:
|
|
283
|
+
maxlengths = {rename_key(k): v for k, v in maxlengths.items()}
|
|
279
284
|
for field in fields:
|
|
280
285
|
if field["field"] in maxlengths:
|
|
281
286
|
field["maxlength"] = maxlengths[field["field"]]
|
|
282
287
|
|
|
283
288
|
if required:
|
|
289
|
+
required = {rename_key(k): v for k, v in required.items()}
|
|
284
290
|
for field in fields:
|
|
285
291
|
if field["field"] in required:
|
|
286
292
|
field["required"] = required[field["field"]]
|
|
@@ -838,7 +844,9 @@ class ALPeopleList(DAList):
|
|
|
838
844
|
else:
|
|
839
845
|
return comma_and_list(self)
|
|
840
846
|
|
|
841
|
-
def full_names(
|
|
847
|
+
def full_names(
|
|
848
|
+
self, comma_string: str = ", ", and_string: Optional[str] = None
|
|
849
|
+
) -> str:
|
|
842
850
|
"""Return a formatted list of full names of individuals.
|
|
843
851
|
|
|
844
852
|
Args:
|
|
@@ -848,6 +856,8 @@ class ALPeopleList(DAList):
|
|
|
848
856
|
Returns:
|
|
849
857
|
str: Formatted string of full names.
|
|
850
858
|
"""
|
|
859
|
+
if not and_string:
|
|
860
|
+
and_string = word("and")
|
|
851
861
|
return comma_and_list(
|
|
852
862
|
[
|
|
853
863
|
(
|
|
@@ -1219,17 +1229,6 @@ class ALIndividual(Individual):
|
|
|
1219
1229
|
for field in fields:
|
|
1220
1230
|
field["show if"] = show_if
|
|
1221
1231
|
|
|
1222
|
-
if maxlengths:
|
|
1223
|
-
for field in fields:
|
|
1224
|
-
if field["field"] in maxlengths:
|
|
1225
|
-
field["maxlength"] = maxlengths[field["field"]]
|
|
1226
|
-
|
|
1227
|
-
if required:
|
|
1228
|
-
for field in fields:
|
|
1229
|
-
if field["field"] in required:
|
|
1230
|
-
field["required"] = required[field["field"]]
|
|
1231
|
-
|
|
1232
|
-
return fields
|
|
1233
1232
|
elif person_or_business == "business":
|
|
1234
1233
|
fields = [
|
|
1235
1234
|
{
|
|
@@ -1240,17 +1239,6 @@ class ALIndividual(Individual):
|
|
|
1240
1239
|
if show_if:
|
|
1241
1240
|
fields[0]["show if"] = show_if
|
|
1242
1241
|
|
|
1243
|
-
if maxlengths:
|
|
1244
|
-
for field in fields:
|
|
1245
|
-
if field["field"] in maxlengths:
|
|
1246
|
-
field["maxlength"] = maxlengths[field["field"]]
|
|
1247
|
-
|
|
1248
|
-
if required:
|
|
1249
|
-
for field in fields:
|
|
1250
|
-
if field["field"] in required:
|
|
1251
|
-
field["required"] = required[field["field"]]
|
|
1252
|
-
|
|
1253
|
-
return fields
|
|
1254
1242
|
else:
|
|
1255
1243
|
# Note: the labels are template block objects: if they are keys,
|
|
1256
1244
|
# they should be converted to strings first
|
|
@@ -1313,17 +1301,23 @@ class ALIndividual(Individual):
|
|
|
1313
1301
|
}
|
|
1314
1302
|
)
|
|
1315
1303
|
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1304
|
+
# All 'field' entries start with the full name of the object (i.e. 'users[1].address...'),
|
|
1305
|
+
# so make sure the keys in maxlengths and required have that prefix
|
|
1306
|
+
prefix = self.attr_name("name.")
|
|
1307
|
+
rename_key = lambda key: key if key.startswith(prefix) else prefix + key
|
|
1308
|
+
if maxlengths:
|
|
1309
|
+
maxlengths = {rename_key(k): v for k, v in maxlengths.items()}
|
|
1310
|
+
for field in fields:
|
|
1311
|
+
if field["field"] in maxlengths:
|
|
1312
|
+
field["maxlength"] = maxlengths[field["field"]]
|
|
1320
1313
|
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1314
|
+
if required:
|
|
1315
|
+
required = {rename_key(k): v for k, v in required.items()}
|
|
1316
|
+
for field in fields:
|
|
1317
|
+
if field["field"] in required:
|
|
1318
|
+
field["required"] = required[field["field"]]
|
|
1325
1319
|
|
|
1326
|
-
|
|
1320
|
+
return fields
|
|
1327
1321
|
|
|
1328
1322
|
def address_fields(
|
|
1329
1323
|
self,
|
|
@@ -1424,12 +1418,18 @@ class ALIndividual(Individual):
|
|
|
1424
1418
|
if show_if:
|
|
1425
1419
|
fields[0]["show if"] = show_if
|
|
1426
1420
|
|
|
1421
|
+
# All 'field' entries start with the full name of the object (i.e. 'users[1].address...'),
|
|
1422
|
+
# so make sure the keys in maxlengths and required have that prefix
|
|
1423
|
+
prefix = self.attr_name("")
|
|
1424
|
+
rename_key = lambda key: key if key.startswith(prefix) else prefix + key
|
|
1427
1425
|
if maxlengths:
|
|
1426
|
+
maxlengths = {rename_key(k): v for k, v in maxlengths.items()}
|
|
1428
1427
|
for field in fields:
|
|
1429
1428
|
if field["field"] in maxlengths:
|
|
1430
1429
|
field["maxlength"] = maxlengths[field["field"]]
|
|
1431
1430
|
|
|
1432
1431
|
if required:
|
|
1432
|
+
required = {rename_key(k): v for k, v in required.items()}
|
|
1433
1433
|
for field in fields:
|
|
1434
1434
|
if field["field"] in required:
|
|
1435
1435
|
field["required"] = required[field["field"]]
|
|
@@ -1586,12 +1586,18 @@ class ALIndividual(Individual):
|
|
|
1586
1586
|
if show_if:
|
|
1587
1587
|
fields[0]["show if"] = show_if
|
|
1588
1588
|
|
|
1589
|
+
# All 'field' entries start with the full name of the object (i.e. 'users[1].address...'),
|
|
1590
|
+
# so make sure the keys in maxlengths and required have that prefix
|
|
1591
|
+
prefix = self.attr_name("")
|
|
1592
|
+
rename_key = lambda key: key if key.startswith(prefix) else prefix + key
|
|
1589
1593
|
if maxlengths:
|
|
1594
|
+
maxlengths = {rename_key(k): v for k, v in maxlengths.items()}
|
|
1590
1595
|
for field in fields:
|
|
1591
1596
|
if field["field"] in maxlengths:
|
|
1592
1597
|
field["maxlength"] = maxlengths[field["field"]]
|
|
1593
1598
|
|
|
1594
1599
|
if required:
|
|
1600
|
+
required = {rename_key(k): v for k, v in required.items()}
|
|
1595
1601
|
for field in fields:
|
|
1596
1602
|
if field["field"] in required:
|
|
1597
1603
|
field["required"] = required[field["field"]]
|
|
@@ -59,6 +59,7 @@ code: |
|
|
|
59
59
|
many_bundles_test
|
|
60
60
|
end
|
|
61
61
|
---
|
|
62
|
+
id: test
|
|
62
63
|
question: |
|
|
63
64
|
Test
|
|
64
65
|
fields:
|
|
@@ -101,6 +102,7 @@ subquestion: |
|
|
|
101
102
|
|
|
102
103
|
[Edit user's name](${url_action('users[0].name.first')})
|
|
103
104
|
---
|
|
105
|
+
id: try-a-big-text-field
|
|
104
106
|
question: |
|
|
105
107
|
Try a big text field
|
|
106
108
|
subquestion: |
|
|
@@ -122,7 +124,9 @@ code: |
|
|
|
122
124
|
id: Mako template
|
|
123
125
|
question: |
|
|
124
126
|
Enable Mako template?
|
|
125
|
-
|
|
127
|
+
fields:
|
|
128
|
+
- "Enable mako template?": mako_template_enabled
|
|
129
|
+
datatype: yesno
|
|
126
130
|
---
|
|
127
131
|
code: |
|
|
128
132
|
# You must use an intermediate value to set the enabled status, because it is not
|
|
@@ -16,6 +16,7 @@ modules:
|
|
|
16
16
|
mandatory: True
|
|
17
17
|
code: |
|
|
18
18
|
multi_user = True
|
|
19
|
+
show_saved_answer_set
|
|
19
20
|
---
|
|
20
21
|
features:
|
|
21
22
|
css:
|
|
@@ -23,7 +24,8 @@ features:
|
|
|
23
24
|
question help button: True
|
|
24
25
|
navigation back button: False
|
|
25
26
|
---
|
|
26
|
-
|
|
27
|
+
id: saved-answer-set-if-allvariablesspecial
|
|
28
|
+
event: show_saved_answer_set
|
|
27
29
|
question: |
|
|
28
30
|
Saved answer set
|
|
29
31
|
% if all_variables(special='titles').get('sub'):
|
|
@@ -268,7 +268,7 @@ fields:
|
|
|
268
268
|
show if:
|
|
269
269
|
variable: al_how_share_link
|
|
270
270
|
is: email_or_sms
|
|
271
|
-
- Message: tell_a_friend_message
|
|
271
|
+
- "Message <span class='visually-hidden'>to friend</span>": tell_a_friend_message
|
|
272
272
|
datatype: area
|
|
273
273
|
default: |
|
|
274
274
|
Hi, I wanted to let you know about a free website that I learned about:
|
|
@@ -276,7 +276,7 @@ fields:
|
|
|
276
276
|
help you, too. Check it out at the link in this message:
|
|
277
277
|
js show if: |
|
|
278
278
|
val("al_how_share_link") === "email_or_sms" && val("al_sharing_type") === "tell_friend"
|
|
279
|
-
- Message: share_interview_answers_message
|
|
279
|
+
- "Message <span class='visually-hidden'>with answers</span>": share_interview_answers_message
|
|
280
280
|
datatype: area
|
|
281
281
|
default: |
|
|
282
282
|
Hi, I wanted to share my progress on a form on "${ AL_ORGANIZATION_TITLE }".
|
|
@@ -40,12 +40,14 @@ code: |
|
|
|
40
40
|
else:
|
|
41
41
|
matching_results = find_matching_sessions(search_keyword, user_id="all")
|
|
42
42
|
---
|
|
43
|
+
id: we-didnt-find-any-matches
|
|
43
44
|
event: no_matches
|
|
44
45
|
question: |
|
|
45
46
|
We didn't find any matches
|
|
46
47
|
subquestion: |
|
|
47
48
|
Check your spelling and try again.
|
|
48
49
|
---
|
|
50
|
+
id: we-found-lenmatchingresults-results-th
|
|
49
51
|
continue button field: show_results
|
|
50
52
|
question: |
|
|
51
53
|
We found ${ len(matching_results) } results that match your keyword
|
|
@@ -136,7 +136,6 @@ sections:
|
|
|
136
136
|
progressive: False
|
|
137
137
|
---
|
|
138
138
|
# A code block is the only way to show navigation with custom labels (mako isn't allowed in `sections`)
|
|
139
|
-
mandatory: True
|
|
140
139
|
code: |
|
|
141
140
|
nav.set_sections(
|
|
142
141
|
[
|
|
@@ -149,6 +148,7 @@ code: |
|
|
|
149
148
|
{"section_search": word("Search")},
|
|
150
149
|
]
|
|
151
150
|
)
|
|
151
|
+
set_sections_once = True
|
|
152
152
|
---
|
|
153
153
|
# These override the `metadata` above
|
|
154
154
|
default screen parts:
|
|
@@ -237,6 +237,7 @@ default screen parts:
|
|
|
237
237
|
---
|
|
238
238
|
mandatory: True
|
|
239
239
|
code: |
|
|
240
|
+
set_sections_once
|
|
240
241
|
if not user_logged_in():
|
|
241
242
|
command("signin")
|
|
242
243
|
if get_config("assembly line", {}).get("enable answer sets"):
|
|
@@ -314,6 +315,7 @@ script:
|
|
|
314
315
|
});
|
|
315
316
|
</script>
|
|
316
317
|
---
|
|
318
|
+
id: search-if-pagequestion
|
|
317
319
|
continue button field: section_search
|
|
318
320
|
section: section_search
|
|
319
321
|
question: |
|
|
@@ -181,7 +181,7 @@ question: |
|
|
|
181
181
|
subquestion: |
|
|
182
182
|
${ collapse_template(help_user_ask_role_template) }
|
|
183
183
|
fields:
|
|
184
|
-
-
|
|
184
|
+
- "Who started this case?": user_detailed_role_started_case
|
|
185
185
|
datatype: radio
|
|
186
186
|
choices:
|
|
187
187
|
- I started this case: started
|
|
@@ -674,6 +674,7 @@ validation code: |
|
|
|
674
674
|
if dont_know_docket_number:
|
|
675
675
|
docket_number = ""
|
|
676
676
|
---
|
|
677
|
+
id: do-you-have-a-docket-number
|
|
677
678
|
question: |
|
|
678
679
|
Do you have a case number used to track this case in court?
|
|
679
680
|
fields:
|
|
@@ -704,6 +705,7 @@ validation code: |
|
|
|
704
705
|
if dont_know_case_number:
|
|
705
706
|
case_number = ""
|
|
706
707
|
---
|
|
708
|
+
id: do-you-have-a-case-number
|
|
707
709
|
question: |
|
|
708
710
|
Do you have a case number used to track this case in court?
|
|
709
711
|
fields:
|
|
@@ -780,9 +782,9 @@ question: |
|
|
|
780
782
|
Are any children involved in this matter?
|
|
781
783
|
% endif
|
|
782
784
|
fields:
|
|
783
|
-
-
|
|
785
|
+
- "Any children?": children.there_are_any
|
|
784
786
|
datatype: yesnoradio
|
|
785
|
-
- How many
|
|
787
|
+
- "How many <span class='visually-hidden'>children</span>?": children.target_number
|
|
786
788
|
datatype: integer
|
|
787
789
|
show if: children.there_are_any
|
|
788
790
|
validation code: |
|
|
@@ -811,9 +813,9 @@ id: how many witnesses
|
|
|
811
813
|
question: |
|
|
812
814
|
Do you have any witnesses?
|
|
813
815
|
fields:
|
|
814
|
-
-
|
|
816
|
+
- "Any witnesses?": witnesses.there_are_any
|
|
815
817
|
datatype: yesnoradio
|
|
816
|
-
-
|
|
818
|
+
- "How many <span class='visually-hidden'>witnesses</span>?": witnesses.target_number
|
|
817
819
|
datatype: integer
|
|
818
820
|
show if: witnesses.there_are_any
|
|
819
821
|
validation code: |
|
|
@@ -1146,7 +1148,7 @@ fields:
|
|
|
1146
1148
|
- code: |
|
|
1147
1149
|
users[i].previous_addresses[j].address_fields(default_state=AL_DEFAULT_STATE)
|
|
1148
1150
|
---
|
|
1149
|
-
id: has another previous address
|
|
1151
|
+
id: has another previous address 2
|
|
1150
1152
|
question: |
|
|
1151
1153
|
% if i == 0 and al_person_answering == "user":
|
|
1152
1154
|
Do you have any other address where you used to live to tell us about?
|
|
@@ -1438,7 +1440,7 @@ code: |
|
|
|
1438
1440
|
trial_court.name = trial_court_name
|
|
1439
1441
|
trial_court.address = trial_court_address
|
|
1440
1442
|
---
|
|
1441
|
-
id: choose a court
|
|
1443
|
+
id: choose a court 2
|
|
1442
1444
|
question: |
|
|
1443
1445
|
What is the name of the appeals court your case is in?
|
|
1444
1446
|
subquestion: |
|
|
@@ -1497,7 +1499,7 @@ question: |
|
|
|
1497
1499
|
subquestion: |
|
|
1498
1500
|
How do you want to sign them?
|
|
1499
1501
|
fields:
|
|
1500
|
-
- I will sign: signature_choice
|
|
1502
|
+
- "I will sign <span class='visually-hidden'>desktop</span>": signature_choice
|
|
1501
1503
|
input type: radio
|
|
1502
1504
|
choices:
|
|
1503
1505
|
- On a phone with my finger: phone
|
|
@@ -1514,7 +1516,7 @@ fields:
|
|
|
1514
1516
|
al_form_requires_digital_signature and not (
|
|
1515
1517
|
device() and (device().is_mobile or device().is_touch_capable)
|
|
1516
1518
|
)
|
|
1517
|
-
- I will sign: signature_choice
|
|
1519
|
+
- "I will sign <span class='visually-hidden'>mobile</span>": signature_choice
|
|
1518
1520
|
input type: radio
|
|
1519
1521
|
choices:
|
|
1520
1522
|
- On this device: this_device
|
|
@@ -1524,7 +1526,7 @@ fields:
|
|
|
1524
1526
|
al_form_requires_digital_signature and (
|
|
1525
1527
|
device() and (device().is_mobile or device().is_touch_capable)
|
|
1526
1528
|
)
|
|
1527
|
-
- I will sign: signature_choice
|
|
1529
|
+
- "I will sign <span class='visually-hidden'>desktop with print</span>": signature_choice
|
|
1528
1530
|
input type: radio
|
|
1529
1531
|
choices:
|
|
1530
1532
|
- On a phone with my finger: phone
|
|
@@ -1542,7 +1544,7 @@ fields:
|
|
|
1542
1544
|
not al_form_requires_digital_signature and not (
|
|
1543
1545
|
device() and (device().is_mobile or device().is_touch_capable)
|
|
1544
1546
|
)
|
|
1545
|
-
- I will sign: signature_choice
|
|
1547
|
+
- "I will sign <span class='visually-hidden'>mobile with print</span>": signature_choice
|
|
1546
1548
|
input type: radio
|
|
1547
1549
|
choices:
|
|
1548
1550
|
- On this device: this_device
|
|
@@ -1784,6 +1786,7 @@ content: |
|
|
|
1784
1786
|
Please contact ${users} in the next business day to
|
|
1785
1787
|
confirm that you received this message.
|
|
1786
1788
|
---
|
|
1789
|
+
id: review-of-your-answers
|
|
1787
1790
|
event: review_all_sections
|
|
1788
1791
|
question: |
|
|
1789
1792
|
Review of your answers
|
|
@@ -1807,7 +1810,7 @@ subquestion: |
|
|
|
1807
1810
|
buttons:
|
|
1808
1811
|
${word("Resume")}: continue
|
|
1809
1812
|
---
|
|
1810
|
-
id: is the user the plaintiff or defendant?
|
|
1813
|
+
id: is the user the plaintiff or defendant? 2
|
|
1811
1814
|
comment: |
|
|
1812
1815
|
This question is asked if the interview can be used by both
|
|
1813
1816
|
a Plaintiff and a Defendant. It sets the value of `user_role`, `user_started_case`,
|
|
@@ -2107,6 +2110,7 @@ template: al_exhibit_total_pages_label
|
|
|
2107
2110
|
content: |
|
|
2108
2111
|
Total pages
|
|
2109
2112
|
---
|
|
2113
|
+
id: review-your-documents
|
|
2110
2114
|
generic object: ALExhibitList
|
|
2111
2115
|
question: |
|
|
2112
2116
|
Review your documents
|
|
@@ -2121,6 +2125,7 @@ subquestion: |
|
|
|
2121
2125
|
${ x.add_action() }
|
|
2122
2126
|
continue button field: x.rearrange_exhibits
|
|
2123
2127
|
---
|
|
2128
|
+
id: review-your-document-pages
|
|
2124
2129
|
generic object: ALExhibit
|
|
2125
2130
|
question: |
|
|
2126
2131
|
Review your document pages
|
|
@@ -2493,7 +2498,7 @@ fields:
|
|
|
2493
2498
|
- no label: x.aliases.there_is_another
|
|
2494
2499
|
datatype: yesnoradio
|
|
2495
2500
|
---
|
|
2496
|
-
id: name i
|
|
2501
|
+
id: name i 2
|
|
2497
2502
|
question: |
|
|
2498
2503
|
% if i == 0 and al_person_answering == "user":
|
|
2499
2504
|
What was your ${ ordinal(j) } name?
|
|
@@ -2510,7 +2515,7 @@ fields:
|
|
|
2510
2515
|
code: name_suffix()
|
|
2511
2516
|
---
|
|
2512
2517
|
generic object: ALIndividual
|
|
2513
|
-
id: x i name
|
|
2518
|
+
id: x i name 2
|
|
2514
2519
|
question: |
|
|
2515
2520
|
What is the ${ ordinal(i) } name that ${ x.preferred_name } has been known by?
|
|
2516
2521
|
fields:
|
|
@@ -11,6 +11,7 @@ code: |
|
|
|
11
11
|
# If you intentionally want to use catchall questions, you can set this value to False
|
|
12
12
|
al_warn_catchall_questions = True
|
|
13
13
|
---
|
|
14
|
+
id: catchall-default
|
|
14
15
|
generic object: DACatchAll
|
|
15
16
|
question: |
|
|
16
17
|
${ x.label if hasattr(x, "label") else x.object_name() }?
|
|
@@ -25,6 +26,7 @@ validation code: |
|
|
|
25
26
|
css: |
|
|
26
27
|
${ dacatchall_css_template }
|
|
27
28
|
---
|
|
29
|
+
id: catchall-currency
|
|
28
30
|
if: |
|
|
29
31
|
x.context == 'float' or (x.data_type_guess() == 'float')
|
|
30
32
|
generic object: DACatchAll
|
|
@@ -42,6 +44,7 @@ validation code: |
|
|
|
42
44
|
css: |
|
|
43
45
|
${ dacatchall_css_template }
|
|
44
46
|
---
|
|
47
|
+
id: catchall-int
|
|
45
48
|
if: |
|
|
46
49
|
x.data_type_guess() == 'int'
|
|
47
50
|
generic object: DACatchAll
|
|
@@ -59,6 +62,7 @@ validation code: |
|
|
|
59
62
|
css: |
|
|
60
63
|
${ dacatchall_css_template }
|
|
61
64
|
---
|
|
65
|
+
id: catchall-bool
|
|
62
66
|
if: |
|
|
63
67
|
x.data_type_guess() == 'bool'
|
|
64
68
|
generic object: DACatchAll
|
|
@@ -76,6 +80,7 @@ validation code: |
|
|
|
76
80
|
css: |
|
|
77
81
|
${ dacatchall_css_template }
|
|
78
82
|
---
|
|
83
|
+
id: catchall-date
|
|
79
84
|
if: |
|
|
80
85
|
x.object_name().endswith('date')
|
|
81
86
|
generic object: DACatchAll
|
|
@@ -131,6 +136,7 @@ content: |
|
|
|
131
136
|
This warning message will not appear when this interview is installed on a production
|
|
132
137
|
server.
|
|
133
138
|
---
|
|
139
|
+
id: if-hasattrx-question
|
|
134
140
|
#############
|
|
135
141
|
# Catchall questions for generic objects with custom Jinja2 filters to provide text
|
|
136
142
|
# 1. catchall_options()
|
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: consent of parent 1
|
|
3
|
-
question: |
|
|
4
|
-
Do you consent to ${ children[0].preferred_name }'s name change?
|
|
5
|
-
fields:
|
|
6
|
-
- I consent: users[0].consented_to_name_change
|
|
7
|
-
datatype: yesnoradio
|
|
8
|
-
---
|
|
9
|
-
id: consent of parent 1
|
|
10
|
-
question: |
|
|
11
|
-
Does ${ users[1] } consent to ${ children[0].preferred_name }'s name change?
|
|
12
|
-
fields:
|
|
13
|
-
- ${ users[1] } consents: users[
|
|
14
|
-
datatype: yesnoradio
|
|
15
|
-
---
|
|
16
|
-
id: consent of parent 1 attached
|
|
17
|
-
question: |
|
|
18
|
-
Is your consent attached?
|
|
19
|
-
fields:
|
|
20
|
-
- My consent is attached: users[0].parent_consent_attached
|
|
21
|
-
datatype: yesnoradio
|
|
22
|
-
- Why not?: users[0].no_consent_attached_explanation
|
|
23
|
-
datatype: area
|
|
24
|
-
rows: 2
|
|
25
|
-
show if:
|
|
26
|
-
variable: users[0].parent_consent_attached
|
|
27
|
-
is: False
|
|
28
|
-
---
|
|
29
|
-
id: consent of parent 2 attached
|
|
30
|
-
question: |
|
|
31
|
-
Is ${ users[1] }'s consent attached?
|
|
32
|
-
fields:
|
|
33
|
-
- ${ users[1] }'s consent is attached: users[1].parent_consent_attached
|
|
34
|
-
datatype: yesnoradio
|
|
35
|
-
- Why not?: users[1].no_consent_attached_explanation
|
|
36
|
-
datatype: area
|
|
37
|
-
rows: 2
|
|
38
|
-
show if:
|
|
39
|
-
variable: users[1].parent_consent_attached
|
|
1
|
+
---
|
|
2
|
+
id: consent of parent 1
|
|
3
|
+
question: |
|
|
4
|
+
Do you consent to ${ children[0].preferred_name }'s name change?
|
|
5
|
+
fields:
|
|
6
|
+
- I consent: users[0].consented_to_name_change
|
|
7
|
+
datatype: yesnoradio
|
|
8
|
+
---
|
|
9
|
+
id: consent of parent 1 2
|
|
10
|
+
question: |
|
|
11
|
+
Does ${ users[1] } consent to ${ children[0].preferred_name }'s name change?
|
|
12
|
+
fields:
|
|
13
|
+
- ${ users[1] } consents: users[1].consented_to_name_change
|
|
14
|
+
datatype: yesnoradio
|
|
15
|
+
---
|
|
16
|
+
id: consent of parent 1 attached
|
|
17
|
+
question: |
|
|
18
|
+
Is your consent attached?
|
|
19
|
+
fields:
|
|
20
|
+
- My consent is attached: users[0].parent_consent_attached
|
|
21
|
+
datatype: yesnoradio
|
|
22
|
+
- Why not?: users[0].no_consent_attached_explanation
|
|
23
|
+
datatype: area
|
|
24
|
+
rows: 2
|
|
25
|
+
show if:
|
|
26
|
+
variable: users[0].parent_consent_attached
|
|
27
|
+
is: False
|
|
28
|
+
---
|
|
29
|
+
id: consent of parent 2 attached
|
|
30
|
+
question: |
|
|
31
|
+
Is ${ users[1] }'s consent attached?
|
|
32
|
+
fields:
|
|
33
|
+
- ${ users[1] }'s consent is attached: users[1].parent_consent_attached
|
|
34
|
+
datatype: yesnoradio
|
|
35
|
+
- Why not?: users[1].no_consent_attached_explanation
|
|
36
|
+
datatype: area
|
|
37
|
+
rows: 2
|
|
38
|
+
show if:
|
|
39
|
+
variable: users[1].parent_consent_attached
|
|
40
40
|
is: False
|
|
@@ -20,6 +20,7 @@ objects:
|
|
|
20
20
|
objects:
|
|
21
21
|
- al_court_bundle: ALDocumentBundle.using(elements=[test_table], filename='court_bundle.pdf', title='All forms to send to the court', enabled=False)
|
|
22
22
|
---
|
|
23
|
+
id: intro
|
|
23
24
|
field: intro
|
|
24
25
|
question: |
|
|
25
26
|
Intro
|
|
@@ -27,6 +28,7 @@ question: |
|
|
|
27
28
|
imports:
|
|
28
29
|
- mimetypes
|
|
29
30
|
---
|
|
31
|
+
id: download
|
|
30
32
|
event: download
|
|
31
33
|
question: |
|
|
32
34
|
Download
|
|
@@ -10,6 +10,7 @@ code: |
|
|
|
10
10
|
intro_screen
|
|
11
11
|
ending_screen
|
|
12
12
|
---
|
|
13
|
+
id: test-addendum-class
|
|
13
14
|
question: |
|
|
14
15
|
Test addendum class
|
|
15
16
|
continue button field: intro_screen
|
|
@@ -27,12 +28,14 @@ code: |
|
|
|
27
28
|
al_addendum_test_attachment.overflow_fields["custom_list_item"].label = "Custom list"
|
|
28
29
|
al_addendum_test_attachment.overflow_fields.gathered = True
|
|
29
30
|
---
|
|
31
|
+
id: are-there-any-custom-list-items
|
|
30
32
|
question: |
|
|
31
33
|
Are there any custom list items?
|
|
32
34
|
fields:
|
|
33
35
|
- no label: custom_list_item.there_are_any
|
|
34
36
|
datatype: yesnoradio
|
|
35
37
|
---
|
|
38
|
+
id: are-there-any-more
|
|
36
39
|
question: |
|
|
37
40
|
Are there any more?
|
|
38
41
|
subquestion: |
|
|
@@ -41,6 +44,7 @@ fields:
|
|
|
41
44
|
- no label: custom_list_item.there_is_another
|
|
42
45
|
datatype: yesnoradio
|
|
43
46
|
---
|
|
47
|
+
id: tell-me-about-the-ordinali-list-item
|
|
44
48
|
question: |
|
|
45
49
|
Tell me about the ${ ordinal(i) } list item
|
|
46
50
|
fields:
|
|
@@ -63,6 +67,7 @@ attachment:
|
|
|
63
67
|
|
|
64
68
|
% endfor
|
|
65
69
|
---
|
|
70
|
+
id: download
|
|
66
71
|
event: ending_screen
|
|
67
72
|
question: |
|
|
68
73
|
Download
|
|
@@ -58,11 +58,18 @@ attachment:
|
|
|
58
58
|
Test content
|
|
59
59
|
---
|
|
60
60
|
mandatory: True
|
|
61
|
+
id: interview order
|
|
62
|
+
code: |
|
|
63
|
+
the_field
|
|
64
|
+
download_event
|
|
65
|
+
---
|
|
66
|
+
id: about-to-make-a-pdf
|
|
61
67
|
question: |
|
|
62
68
|
About to make a PDF
|
|
63
69
|
continue button field: the_field
|
|
64
70
|
---
|
|
65
|
-
|
|
71
|
+
id: download
|
|
72
|
+
event: download_event
|
|
66
73
|
question: |
|
|
67
74
|
Download
|
|
68
75
|
subquestion: |
|
|
@@ -7,12 +7,14 @@ code: |
|
|
|
7
7
|
preview_screen
|
|
8
8
|
final_screen
|
|
9
9
|
---
|
|
10
|
+
id: here-is-what-it-looks-like-unsigned
|
|
10
11
|
question: |
|
|
11
12
|
Here is what it looks like unsigned
|
|
12
13
|
subquestion: |
|
|
13
14
|
${ test_if_final_attachment.as_pdf(key="preview") }
|
|
14
15
|
continue button field: preview_screen
|
|
15
16
|
---
|
|
17
|
+
id: here-is-what-it-looks-like-signed
|
|
16
18
|
question: |
|
|
17
19
|
Here is what it looks like signed
|
|
18
20
|
subquestion: |
|
|
@@ -7,12 +7,14 @@ code: |
|
|
|
7
7
|
email_to_send
|
|
8
8
|
download
|
|
9
9
|
---
|
|
10
|
+
id: enter-an-email-that-the-document-should
|
|
10
11
|
question: |
|
|
11
12
|
Enter an email that the document should be sent to when "Send" button is clicked
|
|
12
13
|
fields:
|
|
13
14
|
- Email: email_to_send
|
|
14
15
|
datatype: email
|
|
15
16
|
---
|
|
17
|
+
id: download
|
|
16
18
|
event: download
|
|
17
19
|
question: |
|
|
18
20
|
Download
|
|
@@ -29,6 +29,7 @@ code: |
|
|
|
29
29
|
|
|
30
30
|
show_results
|
|
31
31
|
---
|
|
32
|
+
id: which-test-scenario-would-you-like-to-ru
|
|
32
33
|
question: |
|
|
33
34
|
Which test scenario would you like to run?
|
|
34
35
|
field: test_scenario
|
|
@@ -38,6 +39,7 @@ choices:
|
|
|
38
39
|
- Test business with preferred name: business_with_preferred
|
|
39
40
|
- Test conflict resolution: conflict_resolution
|
|
40
41
|
---
|
|
42
|
+
id: what-is-your-preferred-first-name
|
|
41
43
|
question: |
|
|
42
44
|
What is your preferred first name?
|
|
43
45
|
subquestion: |
|
|
@@ -48,6 +50,7 @@ fields:
|
|
|
48
50
|
- Preferred first name: users[0].preferred_name.first
|
|
49
51
|
required: False
|
|
50
52
|
---
|
|
53
|
+
id: what-is-the-other-persons-name
|
|
51
54
|
question: |
|
|
52
55
|
What is the other person's name?
|
|
53
56
|
subquestion: |
|
|
@@ -59,14 +62,18 @@ fields:
|
|
|
59
62
|
objects:
|
|
60
63
|
- other_people: ALPeopleList.using(object_type=ALIndividual, complete_attribute="complete")
|
|
61
64
|
---
|
|
65
|
+
id: is-there-anyone-else
|
|
62
66
|
question: |
|
|
63
67
|
Is there anyone else?
|
|
64
|
-
|
|
68
|
+
fields:
|
|
69
|
+
- "Anyone else to add?": other_people.there_is_another
|
|
70
|
+
datatype: yesno
|
|
65
71
|
---
|
|
66
72
|
code: |
|
|
67
73
|
other_people[i].name.first
|
|
68
74
|
other_people[i].complete = True
|
|
69
75
|
---
|
|
76
|
+
id: test-results
|
|
70
77
|
event: show_results
|
|
71
78
|
question: |
|
|
72
79
|
Test Results
|
|
@@ -28,6 +28,7 @@ code: |
|
|
|
28
28
|
users[0].pronouns
|
|
29
29
|
all_done
|
|
30
30
|
---
|
|
31
|
+
id: all-done
|
|
31
32
|
event: all_done
|
|
32
33
|
question: All done!
|
|
33
34
|
subquestion: |
|
|
@@ -50,6 +51,7 @@ subquestion: |
|
|
|
50
51
|
% endif
|
|
51
52
|
% endfor
|
|
52
53
|
---
|
|
54
|
+
id: which-question-do-you-want-to-test
|
|
53
55
|
question: Which question do you want to test?
|
|
54
56
|
field: which_to_test
|
|
55
57
|
choices:
|
|
@@ -59,6 +61,7 @@ choices:
|
|
|
59
61
|
- Address (with the option to not have one): address_no_address
|
|
60
62
|
- Contact Information: contact
|
|
61
63
|
---
|
|
64
|
+
id: what-is-your-address
|
|
62
65
|
sets: users[0].address.has_no_address
|
|
63
66
|
question: |
|
|
64
67
|
What is your address?
|
|
@@ -25,6 +25,10 @@ class test_aladdress(unittest.TestCase):
|
|
|
25
25
|
)
|
|
26
26
|
addr.instanceName = "addr"
|
|
27
27
|
fields = addr.address_fields(required={"addr.zip": True})
|
|
28
|
+
for field in fields:
|
|
29
|
+
if "zip" in field["field"]:
|
|
30
|
+
self.assertTrue(field["required"])
|
|
31
|
+
fields = addr.address_fields(required={"zip": True})
|
|
28
32
|
for field in fields:
|
|
29
33
|
if "zip" in field["field"]:
|
|
30
34
|
self.assertTrue(field["required"])
|
|
@@ -586,7 +590,7 @@ class TestALIndividual(unittest.TestCase):
|
|
|
586
590
|
# Test business case with required parameter
|
|
587
591
|
fields = self.individual.name_fields(
|
|
588
592
|
person_or_business="business",
|
|
589
|
-
required={"
|
|
593
|
+
required={"first": True},
|
|
590
594
|
title_choices=["a title"],
|
|
591
595
|
suffix_choices=["Jr.", "Sr."],
|
|
592
596
|
)
|
|
@@ -613,9 +617,7 @@ class TestALIndividual(unittest.TestCase):
|
|
|
613
617
|
) # Should not have required by default
|
|
614
618
|
|
|
615
619
|
# Test with required parameter
|
|
616
|
-
fields = self.individual.gender_fields(
|
|
617
|
-
required={"test_individual.gender": True}
|
|
618
|
-
)
|
|
620
|
+
fields = self.individual.gender_fields(required={"gender": True})
|
|
619
621
|
gender_field = fields[0]
|
|
620
622
|
self.assertEqual(gender_field["required"], True)
|
|
621
623
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: docassemble.AssemblyLine
|
|
3
|
-
Version: 4.6.
|
|
3
|
+
Version: 4.6.3
|
|
4
4
|
Summary: Quickly go from a paper court form to a runnable, guided, step-by-step web application powered by Docassemble. Swap out branding and pre-built questions to meet your needs.
|
|
5
5
|
Author-email: Suffolk Legal Innovation and Technology Lab <litlab@suffolk.edu>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
|
|
|
6
6
|
|
|
7
7
|
[project]
|
|
8
8
|
name = "docassemble.AssemblyLine"
|
|
9
|
-
version = "4.6.
|
|
9
|
+
version = "4.6.3"
|
|
10
10
|
description = "Quickly go from a paper court form to a runnable, guided, step-by-step web application powered by Docassemble. Swap out branding and pre-built questions to meet your needs."
|
|
11
11
|
readme = "README.md"
|
|
12
12
|
authors = [
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = '4.6.1'
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/py.typed
RENAMED
|
File without changes
|
|
File without changes
|
{docassemble_assemblyline-4.6.1 → docassemble_assemblyline-4.6.3}/docassemble/AssemblyLine/sign.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|