docassemble.AssemblyLine 4.6.3__tar.gz → 4.8.0__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.3/docassemble.AssemblyLine.egg-info → docassemble_assemblyline-4.8.0}/PKG-INFO +2 -2
- docassemble_assemblyline-4.8.0/docassemble/AssemblyLine/__init__.py +1 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/al_document.py +58 -36
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/al_general.py +10 -1
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/al_saved_sessions.yml +1 -1
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/al_terms_of_use.yml +2 -4
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/al_visual.yml +34 -21
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/interview_list.yml +6 -5
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/ql_baseline.yml +1 -1
- docassemble_assemblyline-4.8.0/docassemble/AssemblyLine/data/questions/test_saving_snapshots.yml +17 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/sources/ar-words.yml +10 -3
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/sources/es-words.yml +11 -3
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/sources/fr-words.yml +10 -3
- docassemble_assemblyline-4.8.0/docassemble/AssemblyLine/data/sources/ht-words.yml +16 -0
- docassemble_assemblyline-4.8.0/docassemble/AssemblyLine/data/sources/km-words.yml +16 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/sources/languages.yml +8 -1
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/sources/ne-words.yml +10 -2
- docassemble_assemblyline-4.8.0/docassemble/AssemblyLine/data/sources/pt-words.yml +16 -0
- docassemble_assemblyline-4.8.0/docassemble/AssemblyLine/data/sources/test_snapshots.feature +10 -0
- docassemble_assemblyline-4.8.0/docassemble/AssemblyLine/data/sources/translation_es.xlsx +0 -0
- docassemble_assemblyline-4.8.0/docassemble/AssemblyLine/data/sources/vi-words.yml +16 -0
- docassemble_assemblyline-4.8.0/docassemble/AssemblyLine/data/sources/zh-Hans-words.yml +34 -0
- docassemble_assemblyline-4.8.0/docassemble/AssemblyLine/data/sources/zh-Hant-words.yml +34 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/static/al_audio.js +34 -5
- docassemble_assemblyline-4.8.0/docassemble/AssemblyLine/data/templates/exhibit_table_of_contents.docx +0 -0
- docassemble_assemblyline-4.8.0/docassemble/AssemblyLine/data/templates/general_cover_sheet.docx +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/sessions.py +98 -58
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/test_al_document.py +57 -1
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/test_al_general.py +23 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/test_all_imports.py +1 -0
- docassemble_assemblyline-4.8.0/docassemble/AssemblyLine/test_audio.py +37 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0/docassemble.AssemblyLine.egg-info}/PKG-INFO +2 -2
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble.AssemblyLine.egg-info/SOURCES.txt +9 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble.AssemblyLine.egg-info/requires.txt +1 -1
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/pyproject.toml +6 -4
- docassemble_assemblyline-4.6.3/docassemble/AssemblyLine/__init__.py +0 -1
- docassemble_assemblyline-4.6.3/docassemble/AssemblyLine/data/sources/translation_es.xlsx +0 -0
- docassemble_assemblyline-4.6.3/docassemble/AssemblyLine/data/templates/exhibit_table_of_contents.docx +0 -0
- docassemble_assemblyline-4.6.3/docassemble/AssemblyLine/data/templates/general_cover_sheet.docx +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/LICENSE +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/MANIFEST.in +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/README.md +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/al_courts.py +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/custom_jinja_filters.py +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/al_code.yml +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/al_document.yml +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/al_language.yml +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/al_package.yml +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/al_package_unstyled.yml +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/al_question_test.yml +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/al_reminders.yml +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/al_saved_sessions_store.yml +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/al_settings.yml +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/assembly_line.yml +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/assembly_line_unstyled.yml +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/demo_search_sessions.yml +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/feedback.yml +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/ql_catchall.yml +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/ql_namechange.yml +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/reserved_words.yml +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/test_al_table_document.yml +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/test_aladdendum.yml +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/test_alcourts.yml +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/test_aldocument.yml +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/test_aldocument_background_assembly.yml +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/test_alexhibit.yml +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/test_alexhibit_maxsize.yml +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/test_bundle_parity.yml +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/test_catchall.yml +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/test_familiar_disambiguation.yml +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/test_if_final.yml +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/test_preferred_formats.yml +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/test_preferred_name.yml +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/test_question_library.yml +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/questions/test_signature.yml +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/sources/README.md +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/sources/test_aldocument.feature +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/sources/test_alexhibit_docx_1.docx +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/sources/test_alexhibit_jpg_1.jpg +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/sources/test_alexhibit_pdf_1.pdf +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/sources/test_alexhibit_png_1.png +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/sources/test_question_library.feature +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/sources/translation_ht.xlsx +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/sources/translation_pt.xlsx +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/static/README.md +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/static/al_audio.css +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/static/aldocument.css +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/static/aldocument.js +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/static/interview_list.css +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/static/limit_upload_size.js +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/static/lt1-pullout-10-getting-organized.pdf +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/static/ma_logo.png +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/static/placeholder.png +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/static/seal.jpg +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/static/styles.css +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/templates/README.md +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/templates/al_basic_addendum.docx +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/templates/exhibit_cover_sheet.docx +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/templates/sample_word_template.docx +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/templates/test_aldocument_docx_1.docx +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/templates/test_aldocument_pdf_1.pdf +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/templates/test_catchall.docx +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/data/templates/test_if_final.docx +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/language.py +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/py.typed +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/sign.py +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble/AssemblyLine/test_language.py +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble.AssemblyLine.egg-info/dependency_links.txt +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/docassemble.AssemblyLine.egg-info/top_level.txt +0 -0
- {docassemble_assemblyline-4.6.3 → docassemble_assemblyline-4.8.0}/setup.cfg +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: docassemble.AssemblyLine
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.8.0
|
|
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
|
|
7
7
|
Project-URL: Homepage, https://courtformsonline.org
|
|
8
8
|
Description-Content-Type: text/markdown
|
|
9
9
|
License-File: LICENSE
|
|
10
|
-
Requires-Dist: docassemble.ALToolbox>=0.
|
|
10
|
+
Requires-Dist: docassemble.ALToolbox>=0.19.0
|
|
11
11
|
Requires-Dist: docassemble.GitHubFeedbackForm>=0.4.1.1
|
|
12
12
|
Dynamic: license-file
|
|
13
13
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = '4.8.0'
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import os
|
|
1
|
+
import json
|
|
3
2
|
import mimetypes
|
|
3
|
+
import os
|
|
4
|
+
import re
|
|
5
|
+
from html import escape
|
|
4
6
|
from typing import Any, Dict, List, Literal, Union, Callable, Optional
|
|
5
7
|
from docassemble.base.util import (
|
|
6
8
|
Address,
|
|
@@ -175,6 +177,14 @@ def html_safe_str(the_string: str) -> str:
|
|
|
175
177
|
return re.sub(r"[^A-Za-z0-9]+", "_", the_string)
|
|
176
178
|
|
|
177
179
|
|
|
180
|
+
def _javascript_href(function_name: str, *args: Any) -> str:
|
|
181
|
+
"""Build a JavaScript URL that is safe to use in an HTML href attribute."""
|
|
182
|
+
return escape(
|
|
183
|
+
f"javascript:{function_name}({','.join(json.dumps(arg) for arg in args)})",
|
|
184
|
+
quote=True,
|
|
185
|
+
)
|
|
186
|
+
|
|
187
|
+
|
|
178
188
|
def table_row(title: str, button_htmls: List[str] = []) -> str:
|
|
179
189
|
"""
|
|
180
190
|
Generate an HTML row string for an AL document-styled table.
|
|
@@ -2408,10 +2418,11 @@ class ALDocumentBundle(DAList):
|
|
|
2408
2418
|
al_email_input_id = "_ignore_al_doc_email_" + name
|
|
2409
2419
|
al_send_button_id = "al_send_email_button_" + name
|
|
2410
2420
|
|
|
2411
|
-
javascript_string = (
|
|
2412
|
-
|
|
2413
|
-
|
|
2414
|
-
|
|
2421
|
+
javascript_string = _javascript_href(
|
|
2422
|
+
"aldocument_send_action",
|
|
2423
|
+
str(self.attr_name("send_email_action_event")),
|
|
2424
|
+
al_wants_editable_input_id,
|
|
2425
|
+
al_email_input_id,
|
|
2415
2426
|
)
|
|
2416
2427
|
|
|
2417
2428
|
# Label "email" and input field for the 1st column of the table row
|
|
@@ -2474,23 +2485,23 @@ class ALDocumentBundle(DAList):
|
|
|
2474
2485
|
name = html_safe_str(self.instanceName) + random_suffix()
|
|
2475
2486
|
al_send_button_id = "al_send_email_to_button_" + name
|
|
2476
2487
|
|
|
2488
|
+
formats_value: Optional[Union[str, List[str]]]
|
|
2477
2489
|
if isinstance(preferred_formats, (list, tuple)):
|
|
2478
|
-
|
|
2490
|
+
formats_value = [str(fmt) for fmt in preferred_formats]
|
|
2479
2491
|
elif preferred_formats:
|
|
2480
|
-
|
|
2492
|
+
formats_value = str(preferred_formats)
|
|
2481
2493
|
else:
|
|
2482
|
-
|
|
2483
|
-
|
|
2484
|
-
javascript_string = (
|
|
2485
|
-
|
|
2486
|
-
|
|
2487
|
-
|
|
2488
|
-
|
|
2489
|
-
|
|
2490
|
-
|
|
2491
|
-
|
|
2492
|
-
|
|
2493
|
-
f")"
|
|
2494
|
+
formats_value = None
|
|
2495
|
+
|
|
2496
|
+
javascript_string = _javascript_href(
|
|
2497
|
+
"aldocument_send_to_action",
|
|
2498
|
+
str(self.attr_name("send_email_to_action_event")),
|
|
2499
|
+
str(editable),
|
|
2500
|
+
str(email),
|
|
2501
|
+
al_send_button_id,
|
|
2502
|
+
str(template_name),
|
|
2503
|
+
str(key),
|
|
2504
|
+
formats_value,
|
|
2494
2505
|
)
|
|
2495
2506
|
send_button = action_button_html(
|
|
2496
2507
|
javascript_string,
|
|
@@ -2560,22 +2571,15 @@ class ALDocumentBundle(DAList):
|
|
|
2560
2571
|
al_email_input_id = "_ignore_al_doc_email_" + name
|
|
2561
2572
|
al_send_button_id = "al_send_email_button_" + name
|
|
2562
2573
|
|
|
2563
|
-
|
|
2564
|
-
|
|
2565
|
-
|
|
2566
|
-
|
|
2567
|
-
|
|
2568
|
-
|
|
2569
|
-
|
|
2570
|
-
|
|
2571
|
-
|
|
2572
|
-
f"'{self.attr_name('send_email_action_event')}',"
|
|
2573
|
-
f"'{al_wants_editable_input_id}',"
|
|
2574
|
-
f"'{al_email_input_id}',"
|
|
2575
|
-
f"'{template_name}',"
|
|
2576
|
-
f"'{key}',"
|
|
2577
|
-
f"{formats_js}"
|
|
2578
|
-
")"
|
|
2574
|
+
formats_value = [str(fmt) for fmt in preferred_formats]
|
|
2575
|
+
javascript_string = _javascript_href(
|
|
2576
|
+
"aldocument_send_action",
|
|
2577
|
+
str(self.attr_name("send_email_action_event")),
|
|
2578
|
+
al_wants_editable_input_id,
|
|
2579
|
+
al_email_input_id,
|
|
2580
|
+
str(template_name),
|
|
2581
|
+
str(key),
|
|
2582
|
+
formats_value,
|
|
2579
2583
|
)
|
|
2580
2584
|
|
|
2581
2585
|
# Container of whole email section with header
|
|
@@ -2956,6 +2960,24 @@ class ALExhibit(DAObject):
|
|
|
2956
2960
|
"""
|
|
2957
2961
|
return self.pages.num_pages()
|
|
2958
2962
|
|
|
2963
|
+
def toc_page_number(
|
|
2964
|
+
self, toc_pages: int = 1, include_cover_page: bool = True
|
|
2965
|
+
) -> int:
|
|
2966
|
+
"""Return the page where this exhibit's uploaded content begins.
|
|
2967
|
+
|
|
2968
|
+
``start_page`` already includes the initial one-page table of contents and
|
|
2969
|
+
every preceding exhibit cover. Adjust it only for additional TOC pages and
|
|
2970
|
+
this exhibit's own cover page.
|
|
2971
|
+
|
|
2972
|
+
Args:
|
|
2973
|
+
toc_pages (int): Actual or estimated number of TOC pages.
|
|
2974
|
+
include_cover_page (bool): Whether this exhibit has a cover page.
|
|
2975
|
+
|
|
2976
|
+
Returns:
|
|
2977
|
+
int: The physical page number of the exhibit's first uploaded page.
|
|
2978
|
+
"""
|
|
2979
|
+
return self.start_page + toc_pages - 1 + int(include_cover_page)
|
|
2980
|
+
|
|
2959
2981
|
@property
|
|
2960
2982
|
def complete(self) -> bool:
|
|
2961
2983
|
"""
|
|
@@ -2664,8 +2664,11 @@ def get_visible_al_nav_items(
|
|
|
2664
2664
|
# For dictionaries at top level
|
|
2665
2665
|
item_copy = deepcopy(item)
|
|
2666
2666
|
if not str(item_copy.pop("hidden", "False")).lower() == "true": # if not hidden
|
|
2667
|
+
has_subsections = False
|
|
2668
|
+
has_visible_subsections = False
|
|
2667
2669
|
for key, val in item_copy.items():
|
|
2668
2670
|
if isinstance(val, list): # if value of a key is a list
|
|
2671
|
+
has_subsections = True
|
|
2669
2672
|
new_sublist: List[Union[str, dict]] = []
|
|
2670
2673
|
for subitem in val:
|
|
2671
2674
|
# Add subitem strings as-is
|
|
@@ -2679,7 +2682,13 @@ def get_visible_al_nav_items(
|
|
|
2679
2682
|
):
|
|
2680
2683
|
new_sublist.append(subitem)
|
|
2681
2684
|
item_copy[key] = new_sublist
|
|
2682
|
-
|
|
2685
|
+
has_visible_subsections = has_visible_subsections or bool(
|
|
2686
|
+
new_sublist
|
|
2687
|
+
)
|
|
2688
|
+
|
|
2689
|
+
# Do not show a section expander when all of its subsections are hidden.
|
|
2690
|
+
if not has_subsections or has_visible_subsections:
|
|
2691
|
+
new_list.append(item_copy)
|
|
2683
2692
|
continue
|
|
2684
2693
|
|
|
2685
2694
|
return new_list
|
|
@@ -195,7 +195,7 @@ code: |
|
|
|
195
195
|
if user_logged_in():
|
|
196
196
|
new_session_id = save_interview_answers(
|
|
197
197
|
metadata={"title": al_sessions_snapshot_label},
|
|
198
|
-
additional_variables_to_filter=al_sessions_additional_variables_to_filter,
|
|
198
|
+
additional_variables_to_filter=showifdef('al_sessions_additional_variables_to_filter', []),
|
|
199
199
|
)
|
|
200
200
|
log(f"Saved interview {al_sessions_snapshot_label} with id {new_session_id}")
|
|
201
201
|
else:
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
template: al_terms_of_use
|
|
3
|
-
subject:
|
|
3
|
+
subject: Terms of Use and Privacy Policy
|
|
4
4
|
content: |
|
|
5
|
-
<h2 class="h5">Terms of Use and Privacy Policy</h2>
|
|
6
|
-
|
|
7
5
|
This website is free to use.
|
|
8
6
|
% if get_config("default title") and get_config("default title") != "docassemble":
|
|
9
7
|
${ get_config("default title") }
|
|
@@ -87,4 +85,4 @@ content: |
|
|
|
87
85
|
|
|
88
86
|
Send any questions to:
|
|
89
87
|
|
|
90
|
-
${ get_config("server administrator contact address", get_config("server administrator email", AL_ORGANIZATION_TITLE)) }
|
|
88
|
+
${ get_config("server administrator contact address", get_config("server administrator email", AL_ORGANIZATION_TITLE)) }
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
include:
|
|
3
|
+
- docassemble.ALToolbox:translation_strings.yml
|
|
4
|
+
---
|
|
5
|
+
imports:
|
|
6
|
+
- json
|
|
7
|
+
- html
|
|
8
|
+
---
|
|
2
9
|
objects:
|
|
3
10
|
- al_logo: DAStaticFile.using(filename="ma_logo.png", alt_text="")
|
|
4
11
|
---
|
|
@@ -89,8 +96,8 @@ code: |
|
|
|
89
96
|
reconsider: True
|
|
90
97
|
variable name: al_menu_items_default_items
|
|
91
98
|
data from code:
|
|
92
|
-
- url:
|
|
93
|
-
|
|
99
|
+
- url: |
|
|
100
|
+
html.escape("javascript:(function(){if(window.confirm(" + json.dumps(str(al_start_over_confirmation_question) + "\n\n" + str(al_start_over_confirmation_subquestion)) + ")){window.location.assign(" + json.dumps(url_of('new_session')) + ");}})();void(0)", quote=True)
|
|
94
101
|
label: str(al_start_over_string)
|
|
95
102
|
hidden: _internal.get('steps') < 2
|
|
96
103
|
- url: |
|
|
@@ -125,6 +132,23 @@ template: al_start_over_string
|
|
|
125
132
|
content: >-
|
|
126
133
|
Start over
|
|
127
134
|
---
|
|
135
|
+
template: al_start_over_confirmation_question
|
|
136
|
+
content: >-
|
|
137
|
+
Do you want to start over?
|
|
138
|
+
---
|
|
139
|
+
template: al_start_over_confirmation_subquestion
|
|
140
|
+
content: |
|
|
141
|
+
% if not user_logged_in():
|
|
142
|
+
You may lose access to your current answers. Make sure you have downloaded
|
|
143
|
+
any forms that you need.
|
|
144
|
+
% else:
|
|
145
|
+
You can still access your current answers by visiting the "My interviews"
|
|
146
|
+
page.
|
|
147
|
+
% endif
|
|
148
|
+
|
|
149
|
+
Confirm to start a new copy of the form you are working on, or cancel if
|
|
150
|
+
you want to keep working.
|
|
151
|
+
---
|
|
128
152
|
template: al_exit_logout_string
|
|
129
153
|
content: >-
|
|
130
154
|
Exit and delete my answers
|
|
@@ -420,17 +444,16 @@ content: |
|
|
|
420
444
|
"${all_variables(special='metadata').get('title','').rstrip()}" version
|
|
421
445
|
`${ package_version_number }`; AssemblyLine version `${ al_version }`.
|
|
422
446
|
|
|
423
|
-
|
|
447
|
+
<% MAIN_METADATA = all_variables(special='metadata') %>
|
|
448
|
+
% if "original_form" not in MAIN_METADATA and interview_metadata.get("main_interview_key"):
|
|
424
449
|
<%
|
|
425
450
|
MAIN_METADATA = interview_metadata[interview_metadata["main_interview_key"]]
|
|
426
451
|
%>
|
|
427
|
-
% elif len(interview_metadata) > 1:
|
|
452
|
+
% elif "original_form" not in MAIN_METADATA and len(interview_metadata) > 1:
|
|
428
453
|
<%
|
|
429
454
|
del(interview_metadata["main_interview_key"]) # DADict creates the key on lookup above
|
|
430
455
|
MAIN_METADATA = next(iter(interview_metadata.values()))
|
|
431
456
|
%>
|
|
432
|
-
% else:
|
|
433
|
-
<% MAIN_METADATA = all_variables(special='metadata') %>
|
|
434
457
|
% endif
|
|
435
458
|
<% ORIGINAL_FORMS = MAIN_METADATA.get("original_form", []) if isinstance(MAIN_METADATA.get("original_form"), list) else ([MAIN_METADATA.get("original_form", "")] if MAIN_METADATA.get("original_form") else []) %>
|
|
436
459
|
|
|
@@ -459,18 +482,9 @@ content: |
|
|
|
459
482
|
---
|
|
460
483
|
id: start a new session
|
|
461
484
|
question: |
|
|
462
|
-
|
|
485
|
+
${ al_start_over_confirmation_question }
|
|
463
486
|
subquestion: |
|
|
464
|
-
|
|
465
|
-
You may lose access to your current answers. Make sure you have downloaded
|
|
466
|
-
any forms that you need.
|
|
467
|
-
% else:
|
|
468
|
-
You can still access your current answers by visiting the "My interviews"
|
|
469
|
-
page.
|
|
470
|
-
% endif
|
|
471
|
-
|
|
472
|
-
Click "Start over" to start a new copy of the form you are working on,
|
|
473
|
-
or "Back" if you want to keep working.
|
|
487
|
+
${ al_start_over_confirmation_subquestion }
|
|
474
488
|
back button label: |
|
|
475
489
|
Back
|
|
476
490
|
continue button label: |
|
|
@@ -509,17 +523,16 @@ decoration: bug
|
|
|
509
523
|
question: |
|
|
510
524
|
Something went wrong
|
|
511
525
|
subquestion: |
|
|
512
|
-
|
|
526
|
+
<% MAIN_METADATA = all_variables(special='metadata') %>
|
|
527
|
+
% if "original_form" not in MAIN_METADATA and interview_metadata.get("main_interview_key"):
|
|
513
528
|
<%
|
|
514
529
|
MAIN_METADATA = interview_metadata[interview_metadata["main_interview_key"]]
|
|
515
530
|
%>
|
|
516
|
-
% elif len(interview_metadata) > 1:
|
|
531
|
+
% elif "original_form" not in MAIN_METADATA and len(interview_metadata) > 1:
|
|
517
532
|
<%
|
|
518
533
|
del(interview_metadata["main_interview_key"]) # DADict creates the key on lookup above
|
|
519
534
|
MAIN_METADATA = next(iter(interview_metadata.values()))
|
|
520
535
|
%>
|
|
521
|
-
% else:
|
|
522
|
-
<% MAIN_METADATA = all_variables(special='metadata') %>
|
|
523
536
|
% endif
|
|
524
537
|
<% ORIGINAL_FORMS = MAIN_METADATA.get("original_form", []) if isinstance(MAIN_METADATA.get("original_form"), list) else ([MAIN_METADATA.get("original_form", "")] if MAIN_METADATA.get("original_form") else []) %>
|
|
525
538
|
|
|
@@ -92,6 +92,7 @@ comment: |
|
|
|
92
92
|
---
|
|
93
93
|
include:
|
|
94
94
|
- docassemble.ALToolbox:display_template.yml
|
|
95
|
+
- docassemble.ALToolbox:translation_strings.yml
|
|
95
96
|
---
|
|
96
97
|
# clear playground errors
|
|
97
98
|
objects:
|
|
@@ -186,9 +187,9 @@ default screen parts:
|
|
|
186
187
|
<span class="title-container">
|
|
187
188
|
<span class="al-logo">
|
|
188
189
|
% if LOGO_IMAGE_URL:
|
|
189
|
-
<img src="${ LOGO_IMAGE_URL }" alt="${ LOGO_IMAGE_ALT }"/>
|
|
190
|
+
<img src="${ LOGO_IMAGE_URL }" alt="${ LOGO_IMAGE_ALT or '' }"/>
|
|
190
191
|
% else:
|
|
191
|
-
<img src="${ al_logo.url_for() }" alt="${ al_logo.alt_text }"/>
|
|
192
|
+
<img src="${ al_logo.url_for() }" alt="${ al_logo.alt_text or '' }"/>
|
|
192
193
|
% endif
|
|
193
194
|
</span>
|
|
194
195
|
<span class="al-title">
|
|
@@ -212,9 +213,9 @@ default screen parts:
|
|
|
212
213
|
<span class="title-container">
|
|
213
214
|
<span class="al-logo">
|
|
214
215
|
% if LOGO_IMAGE_URL:
|
|
215
|
-
<img src="${ LOGO_IMAGE_URL }" alt="${ LOGO_IMAGE_ALT }"/>
|
|
216
|
+
<img src="${ LOGO_IMAGE_URL }" alt="${ LOGO_IMAGE_ALT or '' }"/>
|
|
216
217
|
% else:
|
|
217
|
-
<img src="${ al_logo.url_for() }" alt="${ al_logo.alt_text }"/>
|
|
218
|
+
<img src="${ al_logo.url_for() }" alt="${ al_logo.alt_text or '' }"/>
|
|
218
219
|
% endif
|
|
219
220
|
</span>
|
|
220
221
|
<span class="al-title">
|
|
@@ -455,7 +456,7 @@ code: |
|
|
|
455
456
|
LOGO_IMAGE_URL = config_with_language_fallback("logo image url")
|
|
456
457
|
---
|
|
457
458
|
code: |
|
|
458
|
-
LOGO_IMAGE_ALT = config_with_language_fallback("logo alt")
|
|
459
|
+
LOGO_IMAGE_ALT = config_with_language_fallback("logo alt") or ""
|
|
459
460
|
---
|
|
460
461
|
code: |
|
|
461
462
|
NEW_FORM_LABEL = config_with_language_fallback("new form label")
|
|
@@ -1773,7 +1773,7 @@ content: |
|
|
|
1773
1773
|
--------------|-----------
|
|
1774
1774
|
Date of email | ${current_datetime().format_datetime()}
|
|
1775
1775
|
Pages | ${al_num_package_pages }
|
|
1776
|
-
Preferred language | ${ user_preferred_language if user_needs_interpreter else 'English' }
|
|
1776
|
+
Preferred language | ${ user_preferred_language if showifdef('user_needs_interpreter') else 'English' }
|
|
1777
1777
|
Mobile phone | ${showifdef('users[0].mobile_number')}
|
|
1778
1778
|
Other phone | ${showifdef('users[0].phone_number')}
|
|
1779
1779
|
Email | ${showifdef('users[0].email')}
|
docassemble_assemblyline-4.8.0/docassemble/AssemblyLine/data/questions/test_saving_snapshots.yml
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
include:
|
|
3
|
+
- assembly_line.yml
|
|
4
|
+
---
|
|
5
|
+
mandatory: True
|
|
6
|
+
code: |
|
|
7
|
+
al_sessions_additional_variables_to_filter = []
|
|
8
|
+
al_sessions_snapshot_label
|
|
9
|
+
al_sessions_save_session_snapshot
|
|
10
|
+
al_sessions_save_status
|
|
11
|
+
finish_screen
|
|
12
|
+
---
|
|
13
|
+
id: finish screen
|
|
14
|
+
event: finish_screen
|
|
15
|
+
question: |
|
|
16
|
+
Done
|
|
17
|
+
---
|
|
@@ -262,7 +262,7 @@ ar: {'%(username_or_email)s does not exist': '%(username_or_email)s غير مو
|
|
|
262
262
|
Lebanon: لبنان, Lesotho: ليسوتو, Liberia: ليبيريا, Libya: ليبيا, License: رخصة,
|
|
263
263
|
Liechtenstein: ليختنشتاين, Limited Permissions: أذونات محدودة, Link copied to clipboard.: تم
|
|
264
264
|
نسخ الرابط إلى الحافظة., Linked folder: المجلد المرتبط, Links: الروابط, List of ISO-639-1 language codes: قائمة
|
|
265
|
-
رموز لغة ISO-639-1, Listen:
|
|
265
|
+
رموز لغة ISO-639-1, Listen: استمع, Lithuania: ليتوانيا, Live chat: الدردشة المباشرة,
|
|
266
266
|
Live chat is available: الدردشة المباشرة متاحة, Loading . . .: تحميل . . ., 'Loading. Please wait . . . ': 'جاري
|
|
267
267
|
التحميل. الرجاء الانتظار. ', Log: سجل, Logs: السجلات, Luxembourg: لوكسمبورغ, Macao: ماكاو,
|
|
268
268
|
Madagascar: مدغشقر, Malawi: ملاوي, Malaysia: ماليزيا, Maldives: جزر المالديف, Mali: مالي,
|
|
@@ -393,8 +393,8 @@ ar: {'%(username_or_email)s does not exist': '%(username_or_email)s غير مو
|
|
|
393
393
|
كل مثيل لـ Null بترجمة مقتبسة., Request Developer Account: طلب حساب المطور, Resend Confirmation Email: إعادة
|
|
394
394
|
إرسال رسالة التأكيد, Resend email confirmation email: إعادة إرسال رسالة تأكيد
|
|
395
395
|
البريد الإلكتروني, Reset Password: إعادة تعيين كلمة المرور, Reset e-mail confirmation: إعادة
|
|
396
|
-
تعيين تأكيد البريد الإلكتروني, Reset password: إعادة تعيين كلمة المرور, Restart:
|
|
397
|
-
|
|
396
|
+
تعيين تأكيد البريد الإلكتروني, Reset password: إعادة تعيين كلمة المرور, Restart: أعد
|
|
397
|
+
التشغيل, Restarting: إعادة التشغيل, Resume: استئناف, Resume an interview: استئناف
|
|
398
398
|
المقابلة, Retry: إعادة المحاولة, Return: يعود, Retype New Password: أعد كتابة
|
|
399
399
|
كلمة المرور الجديدة, Retype Password: أعد كتابة كلمة المرور, Role: دور, Romania: رومانيا,
|
|
400
400
|
Room: غرفة, Run: يجري, Running in other tab.: تشغيل في علامة تبويب أخرى., Russian Federation: الاتحاد
|
|
@@ -409,6 +409,12 @@ ar: {'%(username_or_email)s does not exist': '%(username_or_email)s غير مو
|
|
|
409
409
|
التغييرات التي أجريتها على معلومات الحزمة, Saved: أنقذ, Saved at: تم الحفظ في,
|
|
410
410
|
Scan: مسح ضوئي, Scan the barcode with your phone's authenticator app and enter the verification code.: قم
|
|
411
411
|
بمسح الرمز الشريطي باستخدام تطبيق المصادقة الخاص بهاتفك وأدخل رمز التحقق., Score: نتيجة,
|
|
412
|
+
"Change country, selected ${countryName} (${dialCode})": "تغيير البلد، المحدد حاليًا ${countryName} (${dialCode})",
|
|
413
|
+
"Select country": "حدد البلد", "List of countries": "قائمة الدول", "Clear search": "مسح البحث",
|
|
414
|
+
"No results found": "لم يتم العثور على نتائج", "1 result found": "تم العثور على نتيجة واحدة",
|
|
415
|
+
"${count} results found": "تم العثور على ${count} نتيجة",
|
|
416
|
+
'This phone number doesn''t look right. Note that a non-US number needs a "+" before the number.': 'يبدو أن رقم الهاتف هذا غير صحيح. لاحظ أن الرقم غير الأمريكي يحتاج إلى "+" قبل الرقم.',
|
|
417
|
+
"You have entered %d character.": "لقد أدخلت %d حرفًا.", "You have entered %d characters.": "لقد أدخلت %d أحرف.",
|
|
412
418
|
Search: يبحث, Second Subdivision: القسم الفرعي الثاني, Second factor authentication: المصادقة
|
|
413
419
|
بالعامل الثاني, Second subdivision: القسم الفرعي الثاني, Section: قسم, Sections: الأقسام,
|
|
414
420
|
Security Method: طريقة الأمان, Select a package: اختر الباقة, Select a value between: حدد
|
|
@@ -750,4 +756,5 @@ ar: {'%(username_or_email)s does not exist': '%(username_or_email)s غير مو
|
|
|
750
756
|
them: هم, themself: أنفسهم, themselves: أنفسهم, they: هم, to proceed.: للمتابعة.,
|
|
751
757
|
'true': حقيقي, unavailable: غير متاح, us: نحن, v.: فعل, was saved at: تم حفظه في,
|
|
752
758
|
we: نحن, x: س, y: ي, year: سنة, yes: نعم, you: أنت, yourself: نفسك, yourselves: أنفسكم,
|
|
759
|
+
Pause: إيقاف مؤقت, Stop: إيقاف,
|
|
753
760
|
Åland Islands: جزر آلاند, Month: شهر, Day: يوم, Year: سنة}
|
|
@@ -299,7 +299,7 @@ es: {'%(username_or_email)s does not exist': '%(username_or_email)s no existe',
|
|
|
299
299
|
Libya: Libia, License: Licencia, Liechtenstein: Liechtenstein, Limited Permissions: Permisos
|
|
300
300
|
limitados, Link copied to clipboard.: Enlace copiado al portapapeles., Linked folder: Carpeta
|
|
301
301
|
vinculada, Links: Campo de golf, List of ISO-639-1 language codes: Lista de códigos
|
|
302
|
-
de idioma ISO-639-1, Listen:
|
|
302
|
+
de idioma ISO-639-1, Listen: Escuchar, Lithuania: Lituania, Live chat: Chat en
|
|
303
303
|
vivo, Live chat is available: Chat en vivo está disponible, Loading . . .: Cargando
|
|
304
304
|
. . ., 'Loading. Please wait . . . ': Cargando. Por favor espera . . ., Log: Registro,
|
|
305
305
|
Logs: Troncos, Luxembourg: Luxemburgo, Macao: Macao, Madagascar: Madagascar, Malawi: Malawi,
|
|
@@ -464,7 +464,14 @@ es: {'%(username_or_email)s does not exist': '%(username_or_email)s no existe',
|
|
|
464
464
|
Save your changes to the package information: Guarda los cambios en la información
|
|
465
465
|
del paquete., Saved: Guardado, Saved at: Guardado en, Scan: Escanear, Scan the barcode with your phone's authenticator app and enter the verification code.: Escanee
|
|
466
466
|
el código de barras con la aplicación de autenticación de su teléfono e ingrese
|
|
467
|
-
el código de verificación., Score: Puntaje,
|
|
467
|
+
el código de verificación., Score: Puntaje,
|
|
468
|
+
"Change country, selected ${countryName} (${dialCode})": "Cambiar país, seleccionado ${countryName} (${dialCode})",
|
|
469
|
+
"Select country": "Seleccionar país", "List of countries": "Lista de países", "Clear search": "Borrar búsqueda",
|
|
470
|
+
"No results found": "No se han encontrado resultados", "1 result found": "1 resultado encontrado",
|
|
471
|
+
"${count} results found": "Se encontraron ${count} resultados",
|
|
472
|
+
'This phone number doesn''t look right. Note that a non-US number needs a "+" before the number.': 'Este número de teléfono no parece correcto. Tenga en cuenta que un número que no es de EE. UU. necesita un "+" antes del número.',
|
|
473
|
+
"You have entered %d character.": "Ha escrito %d carácter.", "You have entered %d characters.": "Ha escrito %d caracteres.",
|
|
474
|
+
Search: Buscar, Second Subdivision: Segunda
|
|
468
475
|
subdivisión, Second factor authentication: Autenticación de segundo factor, Second subdivision: Segunda
|
|
469
476
|
subdivisión, Section: Sección, Sections: Secciones, Security Method: Método de
|
|
470
477
|
seguridad, Select a package: Seleccione un paquete, Select a value between: Seleccione
|
|
@@ -860,4 +867,5 @@ es: {'%(username_or_email)s does not exist': '%(username_or_email)s no existe',
|
|
|
860
867
|
t: t, them: ellos, themself: ellos mismos, themselves: ellos mismos, they: ellos,
|
|
861
868
|
to proceed.: para proceder., 'true': cierto, unavailable: indisponible, us: a nosotros,
|
|
862
869
|
v.: v., was saved at: fue guardado en, we: nosotros, x: X, y: y, year: año, yes: sí,
|
|
863
|
-
you: tú, yourself: tú mismo, yourselves: vosotros,
|
|
870
|
+
you: tú, yourself: tú mismo, yourselves: vosotros, Pause: Pausar, Stop: Detener,
|
|
871
|
+
Åland Islands: Islas Åland}
|
|
@@ -456,7 +456,7 @@ fr: {'%(username_or_email)s does not exist': '%(nom_utilisateur_ou_email)s n''ex
|
|
|
456
456
|
un compte développeur, Resend Confirmation Email: Renvoyer l'e-mail de confirmation,
|
|
457
457
|
Resend email confirmation email: Renvoyer l'e-mail de confirmation, Reset Password: Réinitialiser
|
|
458
458
|
le mot de passe, Reset e-mail confirmation: Réinitialiser la confirmation par
|
|
459
|
-
e-mail, Reset password: Réinitialiser le mot de passe, Restart:
|
|
459
|
+
e-mail, Reset password: Réinitialiser le mot de passe, Restart: Recommencer, Restarting: Redémarrage,
|
|
460
460
|
Resume: Reanudar, Resume an interview: Reprendre un entretien, Retry: Réessayer, Return: Retour,
|
|
461
461
|
Retype New Password: Retapez le nouveau mot de passe, Retype Password: Retaper le
|
|
462
462
|
mot de passe, Role: Rôle, Romania: Roumanie, Room: Chambre, Run: Courir, Running in other tab.: Exécution
|
|
@@ -471,7 +471,14 @@ fr: {'%(username_or_email)s does not exist': '%(nom_utilisateur_ou_email)s n''ex
|
|
|
471
471
|
vos modifications apportées aux informations du colis, Saved: Enregistré, Saved at: Enregistré
|
|
472
472
|
à, Scan: Balayage, Scan the barcode with your phone's authenticator app and enter the verification code.: Scannez
|
|
473
473
|
le code-barres avec l'application d'authentification de votre téléphone et saisissez
|
|
474
|
-
le code de vérification., Score: Score,
|
|
474
|
+
le code de vérification., Score: Score,
|
|
475
|
+
"Change country, selected ${countryName} (${dialCode})": "Changer de pays, ${countryName} sélectionné (${dialCode})",
|
|
476
|
+
"Select country": "Sélectionner un pays", "List of countries": "Liste des pays", "Clear search": "Effacer la recherche",
|
|
477
|
+
"No results found": "Aucun résultat trouvé", "1 result found": "1 résultat trouvé",
|
|
478
|
+
"${count} results found": "${count} résultats trouvés",
|
|
479
|
+
'This phone number doesn''t look right. Note that a non-US number needs a "+" before the number.': 'Ce numéro de téléphone ne semble pas correct. Notez qu’un numéro non américain doit être précédé d’un "+".',
|
|
480
|
+
"You have entered %d character.": "Vous avez saisi %d caractère.", "You have entered %d characters.": "Vous avez saisi %d caractères.",
|
|
481
|
+
Search: Recherche, Second Subdivision: Deuxième
|
|
475
482
|
subdivision, Second factor authentication: Authentification à deux facteurs, Second subdivision: Deuxième
|
|
476
483
|
subdivision, Section: Section, Sections: Sections, Security Method: Méthode de
|
|
477
484
|
sécurité, Select a package: Sélectionnez un forfait, Select a value between: Sélectionnez
|
|
@@ -875,4 +882,4 @@ fr: {'%(username_or_email)s does not exist': '%(nom_utilisateur_ou_email)s n''ex
|
|
|
875
882
|
themself: eux-mêmes, themselves: eux-mêmes, they: ils, to proceed.: pour continuer.,
|
|
876
883
|
'true': vrai, unavailable: indisponible, us: nous, v.: v., was saved at: a été sauvé
|
|
877
884
|
à, we: nous, x: x, y: et, year: année, yes: Oui, you: toi, yourself: toi-même,
|
|
878
|
-
yourselves: vous-mêmes, Åland Islands: Îles Åland}
|
|
885
|
+
yourselves: vous-mêmes, Pause: Pause, Stop: Arrêter, Åland Islands: Îles Åland}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
ht:
|
|
2
|
+
"Change country, selected ${countryName} (${dialCode})": "Chanje peyi, peyi chwazi ${countryName} (${dialCode})"
|
|
3
|
+
"Select country": "Chwazi peyi"
|
|
4
|
+
"List of countries": "Lis peyi yo"
|
|
5
|
+
"Search": "Rechèch"
|
|
6
|
+
"Clear search": "Efase rechèch"
|
|
7
|
+
"No results found": "Pa jwenn okenn rezilta"
|
|
8
|
+
"1 result found": "Yo jwenn 1 rezilta"
|
|
9
|
+
"${count} results found": "Yo jwenn ${count} rezilta"
|
|
10
|
+
'This phone number doesn''t look right. Note that a non-US number needs a "+" before the number.': 'Nimewo telefòn sa a pa sanble kòrèk. Tanpri sonje yon nimewo ki pa ameriken bezwen yon "+" anvan nimewo a.'
|
|
11
|
+
"You have entered %d character.": "Ou antre %d karaktè."
|
|
12
|
+
"You have entered %d characters.": "Ou antre %d karaktè."
|
|
13
|
+
"Listen": "Koute"
|
|
14
|
+
"Restart": "Rekòmanse"
|
|
15
|
+
"Pause": "Pòz"
|
|
16
|
+
"Stop": "Sispann"
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
km:
|
|
2
|
+
"Change country, selected ${countryName} (${dialCode})": "ប្តូរប្រទេស ប្រទេសដែលបានជ្រើសរើស ${countryName} (${dialCode})"
|
|
3
|
+
"Select country": "ជ្រើសរើសប្រទេស"
|
|
4
|
+
"List of countries": "បញ្ជីប្រទេស"
|
|
5
|
+
"Search": "ស្វែងរក"
|
|
6
|
+
"Clear search": "សម្អាតការស្វែងរក"
|
|
7
|
+
"No results found": "រកមិនឃើញលទ្ធផល"
|
|
8
|
+
"1 result found": "រកឃើញលទ្ធផល ១"
|
|
9
|
+
"${count} results found": "រកឃើញលទ្ធផល ${count}"
|
|
10
|
+
'This phone number doesn''t look right. Note that a non-US number needs a "+" before the number.': 'លេខទូរសព្ទនេះមើលទៅមិនត្រឹមត្រូវទេ។ សូមចំណាំថា លេខទូរសព្ទដែលមិនមែនជាលេខអាមេរិក ត្រូវដាក់សញ្ញា "+" នៅពីមុខលេខ។'
|
|
11
|
+
"You have entered %d character.": "អ្នកបានបញ្ចូល %d តួអក្សរ។"
|
|
12
|
+
"You have entered %d characters.": "អ្នកបានបញ្ចូល %d តួអក្សរ។"
|
|
13
|
+
"Listen": "ស្តាប់"
|
|
14
|
+
"Restart": "ចាប់ផ្តើមឡើងវិញ"
|
|
15
|
+
"Pause": "ផ្អាក"
|
|
16
|
+
"Stop": "បញ្ឈប់"
|
|
@@ -60,6 +60,13 @@ zh-Hans:
|
|
|
60
60
|
zh-Hant:
|
|
61
61
|
name: Chinese (Traditional)
|
|
62
62
|
native_name: 繁體中文
|
|
63
|
+
# Alternative codes for Chinese
|
|
64
|
+
zh-CN:
|
|
65
|
+
name: Chinese (Simplified, China)
|
|
66
|
+
native_name: 中文(中国)
|
|
67
|
+
zh-TW:
|
|
68
|
+
name: Chinese (Traditional, Taiwan, Hong Kong, Macau)
|
|
69
|
+
native_name: 中文(台湾)
|
|
63
70
|
# If you have a choice, prefer the more specific Chinese (Simplified) or Chinese (Traditional) codes
|
|
64
71
|
# Note: because we target scripts, we omit Mandarin/Cantonese distinctions in this file.
|
|
65
72
|
zh:
|
|
@@ -145,4 +152,4 @@ kn:
|
|
|
145
152
|
native_name: ಕನ್ನಡ
|
|
146
153
|
ml:
|
|
147
154
|
name: Malayalam
|
|
148
|
-
native_name: മലയാളം
|
|
155
|
+
native_name: മലയാളം
|
|
@@ -453,7 +453,14 @@ Resume: जारी राख्नुहोस्, Resume an interview: अन
|
|
|
453
453
|
जानकारीमा आफ्ना परिवर्तनहरू बचत गर्नुहोस्।, Saved: सुरक्षित गरियो, Saved at: 'बचत
|
|
454
454
|
गरिएको समय:', Scan: स्क्यान गर्नुहोस्, Scan the barcode with your phone's authenticator app and enter the verification code.: आफ्नो
|
|
455
455
|
फोनको प्रमाणक एप प्रयोग गरी बारकोड स्क्यान गर्नुहोस् र प्रमाणिकरण कोड प्रविष्ट
|
|
456
|
-
गर्नुहोस्।, Score: स्कोर,
|
|
456
|
+
गर्नुहोस्।, Score: स्कोर,
|
|
457
|
+
"Change country, selected ${countryName} (${dialCode})": "देश परिवर्तन गर्नुहोस्, हाल चयन गरिएको ${countryName} (${dialCode})",
|
|
458
|
+
"Select country": "देश चयन गर्नुहोस्", "List of countries": "देशहरूको सूची", "Clear search": "खोजी खाली गर्नुहोस्",
|
|
459
|
+
"No results found": "कुनै परिणाम फेला परेन", "1 result found": "१ परिणाम फेला पर्यो",
|
|
460
|
+
"${count} results found": "${count} वटा परिणाम फेला परे",
|
|
461
|
+
'This phone number doesn''t look right. Note that a non-US number needs a "+" before the number.': 'यो फोन नम्बर सही जस्तो देखिँदैन। अमेरिकाबाहिरको नम्बरअघि "+" राख्नुपर्छ भन्ने कुरा ध्यान दिनुहोस्।',
|
|
462
|
+
"You have entered %d character.": "तपाईंले %d अक्षर प्रविष्ट गर्नुभएको छ।", "You have entered %d characters.": "तपाईंले %d अक्षरहरू प्रविष्ट गर्नुभएको छ।",
|
|
463
|
+
Search: खोज्नुहोस्, Second Subdivision: दोस्रो उपविभाजन,
|
|
457
464
|
Second factor authentication: दोस्रो कारक प्रमाणीकरण, Second subdivision: दोस्रो
|
|
458
465
|
उपविभाजन, Section: खण्ड, Sections: खण्डहरू, Security Method: सुरक्षा विधि, Select a package: प्याकेज
|
|
459
466
|
चयन गर्नुहोस्, Select a value between: बीचमा मान चयन गर्नुहोस्, Select file: फाइल
|
|
@@ -837,5 +844,6 @@ Resume: जारी राख्नुहोस्, Resume an interview: अन
|
|
|
837
844
|
skip: छोड्नुहोस्, something: केहि, system: प्रणाली, t: ट, them: तिनीहरूलाई, themself: आफैं,
|
|
838
845
|
themselves: आफैं, they: तिनीहरू, to proceed.: अगाडि बढ्न।, 'true': सत्य, unavailable: उपलब्ध
|
|
839
846
|
छैन, us: हामीलाई, v.: वि., was saved at: मा सुरक्षित गरिएको थियो, we: हामी, x: x,
|
|
840
|
-
y: र, year: वर्ष, yes: हो, you: तिमी, yourself: आफैँ, yourselves: आफैं,
|
|
847
|
+
y: र, year: वर्ष, yes: हो, you: तिमी, yourself: आफैँ, yourselves: आफैं, Pause: पज गर्नुहोस्,
|
|
848
|
+
Stop: रोक्नुहोस्, Åland Islands: अलान्ड
|
|
841
849
|
टापुहरू}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
pt:
|
|
2
|
+
"Change country, selected ${countryName} (${dialCode})": "Alterar país, país selecionado ${countryName} (${dialCode})"
|
|
3
|
+
"Select country": "Selecionar país"
|
|
4
|
+
"List of countries": "Lista de países"
|
|
5
|
+
"Search": "Procurar"
|
|
6
|
+
"Clear search": "Limpar pesquisa"
|
|
7
|
+
"No results found": "Nenhum resultado encontrado"
|
|
8
|
+
"1 result found": "1 resultado encontrado"
|
|
9
|
+
"${count} results found": "${count} resultados encontrados"
|
|
10
|
+
'This phone number doesn''t look right. Note that a non-US number needs a "+" before the number.': 'Este número de telefone não parece correto. Observe que um número que não seja dos EUA precisa de um "+" antes do número.'
|
|
11
|
+
"You have entered %d character.": "Você digitou %d caractere."
|
|
12
|
+
"You have entered %d characters.": "Você digitou %d caracteres."
|
|
13
|
+
"Listen": "Ouvir"
|
|
14
|
+
"Restart": "Reiniciar"
|
|
15
|
+
"Pause": "Pausar"
|
|
16
|
+
"Stop": "Parar"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
@snapshots
|
|
2
|
+
Feature: Test saving snapshots
|
|
3
|
+
|
|
4
|
+
Scenario: User can save an answer snapshot
|
|
5
|
+
Given I log in with "DA_ADMIN_EMAIL" and "DA_ADMIN_PASSWORD"
|
|
6
|
+
And I start the interview at "test_saving_snapshots"
|
|
7
|
+
And I should see the phrase "Save an answer set"
|
|
8
|
+
And I set the var "al_sessions_snapshot_label" to "My test snapshot"
|
|
9
|
+
And I tap to continue
|
|
10
|
+
And I should see the phrase "Your answer set was successfully saved"
|
|
Binary file
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
vi:
|
|
2
|
+
"Change country, selected ${countryName} (${dialCode})": "Đổi quốc gia, quốc gia đã chọn ${countryName} (${dialCode})"
|
|
3
|
+
"Select country": "Chọn quốc gia"
|
|
4
|
+
"List of countries": "Danh sách các quốc gia"
|
|
5
|
+
"Search": "Tìm kiếm"
|
|
6
|
+
"Clear search": "Xóa tìm kiếm"
|
|
7
|
+
"No results found": "Không tìm thấy kết quả nào"
|
|
8
|
+
"1 result found": "Đã tìm thấy 1 kết quả"
|
|
9
|
+
"${count} results found": "Đã tìm thấy ${count} kết quả"
|
|
10
|
+
'This phone number doesn''t look right. Note that a non-US number needs a "+" before the number.': 'Số điện thoại này có vẻ không đúng. Lưu ý rằng số điện thoại không phải của Hoa Kỳ cần có dấu "+" trước số.'
|
|
11
|
+
"You have entered %d character.": "Bạn đã nhập %d ký tự."
|
|
12
|
+
"You have entered %d characters.": "Bạn đã nhập %d ký tự."
|
|
13
|
+
"Listen": "Nghe"
|
|
14
|
+
"Restart": "Khởi động lại"
|
|
15
|
+
"Pause": "Tạm dừng"
|
|
16
|
+
"Stop": "Dừng"
|