{% macro text(question_content, data, errors) -%} {% with error=kwargs.get("error", errors.get(question_content.id)['message']), hidden=kwargs.get("hidden", question_content.hidden), hint=kwargs.get("hint", question_content.hint), message=kwargs.message, name=kwargs.get("name", question_content.id), optional=kwargs.get("optional", question_content.optional), question=kwargs.get("question", question_content.question), question_advice=kwargs.get("question_advice", question_content.question_advice), question_number=kwargs.question_number, smaller=kwargs.get("smaller", question_content.smaller), unit=kwargs.get("unit", question_content.unit), unit_in_full=kwargs.get("unit_in_full", question_content.unit_in_full), unit_position=kwargs.get("unit_position", question_content.unit_position), value=kwargs.get("value", data[question_content.id]), type=kwargs.get("type", "text"), autocomplete=kwargs.get("autocomplete") %} {% include "toolkit/forms/textbox.html" %} {% endwith %} {%- endmacro %} {% macro textbox_large(question_content, data, errors) -%} {% with error=kwargs.get("error", errors.get(question_content.id)['message']), hidden=kwargs.get("hidden", question_content.hidden), hint=kwargs.get("hint", question_content.hint), large=kwargs.get("large", True), max_length_in_words=kwargs.get("max_length_in_words", question_content.max_length_in_words), message=kwargs.message, name=kwargs.get("name", question_content.id), optional=kwargs.get("optional", question_content.optional), question=kwargs.get("question", question_content.question), question_advice=kwargs.get("question_advice", question_content.question_advice), question_number=kwargs.question_number, value=kwargs.get("value", data[question_content.id]), type=kwargs.get("type", "text"), autocomplete=kwargs.get("autocomplete") %} {% include "toolkit/forms/textbox.html" %} {% endwith %} {%- endmacro %} {% macro list(question_content, data, errors) -%} {% with error=kwargs.get("error", errors.get(question_content.id)['message']), hidden=kwargs.get("hidden", question_content.hidden), hint=kwargs.get("hint", question_content.hint), id=kwargs.get("id", question_content.id), item_name=kwargs.get("item_name", question_content.item_name), message=kwargs.message, name=kwargs.get("name", question_content.id), number_of_items=kwargs.get("number_of_items", question_content.get('number_of_items', 10)), optional=kwargs.get("optional", question_content.optional), question=kwargs.get("question", question_content.question), question_advice=kwargs.get("question_advice", question_content.question_advice), question_number=kwargs.question_number, values=kwargs.get("values", data[question_content.id]) %} {% include "toolkit/forms/list-entry.html" %} {% endwith %} {%- endmacro %} {% macro checkboxes(question_content, data, errors) -%} {% with error=kwargs.get("error", errors.get(question_content.id)['message']), followup=kwargs.get("followup", question_content.values_followup), hidden=kwargs.get("hidden", question_content.hidden), hint=kwargs.get("hint", question_content.hint), hint_underneath=kwargs.get("hint_underneath", question_content.hint_underneath), id=kwargs.get("id", question_content.id), inline=kwargs.get("inline", question_content.inline), message=kwargs.message, name=kwargs.get("name", question_content.id), optional=kwargs.get("optional", question_content.optional), options=kwargs.get("options", question_content.options), question=kwargs.get("question", question_content.question), question_advice=kwargs.get("question_advice", question_content.question_advice), question_number=kwargs.question_number, type=kwargs.get("type", 'checkbox'), value=kwargs.get("value", data[question_content.id]) %} {% include "toolkit/forms/selection-buttons.html" %} {% endwith %} {%- endmacro %} {% macro radios(question_content, data, errors) -%} {% with error=kwargs.get("error", errors.get(question_content.id)['message']), followup=kwargs.get("followup", question_content.values_followup), hidden=kwargs.get("hidden", question_content.hidden), hint=kwargs.get("hint", question_content.hint), hint_underneath=kwargs.get("hint_underneath", question_content.hint_underneath), id=kwargs.get("id", question_content.id), inline=kwargs.get("inline", question_content.inline), message=kwargs.message, name=kwargs.get("name", question_content.id), optional=kwargs.get("optional", question_content.optional), options=kwargs.get("options", question_content.options), question=kwargs.get("question", question_content.question), question_advice=kwargs.get("question_advice", question_content.question_advice), question_number=kwargs.question_number, type=kwargs.get("type", 'radio'), value=kwargs.get("value", data[question_content.id]) %} {% include "toolkit/forms/selection-buttons.html" %} {% endwith %} {%- endmacro %} {% macro boolean(question_content, data, errors) -%} {% with error=kwargs.get("error", errors.get(question_content.id)['message']), followup=kwargs.get("followup", question_content.values_followup), hidden=kwargs.get("hidden", question_content.hidden), hint=kwargs.get("hint", question_content.hint), hint_underneath=kwargs.get("hint_underneath", question_content.hint_underneath), id=kwargs.get("id", question_content.id), message=kwargs.message, name=kwargs.get("name", question_content.id), optional=kwargs.get("optional", question_content.optional), question=kwargs.get("question", question_content.question), question_advice=kwargs.get("question_advice", question_content.question_advice), question_number=kwargs.question_number, type=kwargs.get("type", 'boolean'), value=kwargs.get("value", data[question_content.id]) %} {% include "toolkit/forms/selection-buttons.html" %} {% endwith %} {%- endmacro %} {% macro checkbox_tree(question_content, data, errors) -%} {% with error=kwargs.get("error", errors.get(question_content.id)['message']), hidden=kwargs.get("hidden", question_content.hidden), hint=kwargs.get("hint", question_content.hint), id=kwargs.get("id", question_content.id), name=kwargs.get("name", question_content.id), number_of_items=kwargs.get("number_of_items", question_content.number_of_items), options=kwargs.get("options", question_content.options), question=kwargs.get("question", question_content.question), question_advice=kwargs.get("question_advice", question_content.question_advice), question_number=kwargs.question_number, type=kwargs.get("type", 'checkbox_tree'), value=kwargs.get("value", data[question_content.id]) %} {% include "toolkit/forms/checkbox-tree.html" %} {% endwith %} {%- endmacro %} # price, hours_for_price, minimum_price, maximum_price, price_unit, price_interval could all not be here {% macro pricing(question_content, data, errors) -%} {% with error=kwargs.get("error", errors.get(question_content.id)['message']), fields=kwargs.get("fields", question_content.fields), hint=kwargs.get("hint", question_content.hint), hours_for_price=kwargs.get("hours_for_price", data.get(question_content.fields.hours_for_price)), maximum_price=kwargs.get("maximum_price", data.get(question_content.fields.maximum_price)), message=kwargs.message, minimum_price=kwargs.get("minimum_price", data.get(question_content.fields.minimum_price)), name=kwargs.get("name", question_content.id), optional=kwargs.get("optional", question_content.optional), optional_fields=kwargs.get("optional_fields", question_content.optional_fields), price=kwargs.get("price", data.get(question_content.fields.price)), price_interval=kwargs.get("price_interval", data.get(question_content.fields.price_interval)), price_unit=kwargs.get("price_unit", data.get(question_content.fields.price_unit)), question=kwargs.get("question", question_content.question), question_advice=kwargs.get("question_advice", question_content.question_advice), question_number=kwargs.question_number %} {% include "toolkit/forms/pricing.html" %} {% endwith %} {%- endmacro %} {% macro date(question_content, data, errors) -%} {% with data=kwargs.get("data", data), error=kwargs.get("error", errors.get(question_content.id)['message']), hidden=kwargs.get("hidden", question_content.hidden), hint=kwargs.get("hint", question_content.hint), message=kwargs.message, name=kwargs.get("name", question_content.id), optional=kwargs.get("optional", question_content.optional), question=kwargs.get("question", question_content.question), question_advice=kwargs.get("question_advice", question_content.question_advice), question_number=kwargs.question_number %} {% include "toolkit/forms/date.html" %} {% endwith %} {%- endmacro %} {% macro upload(question_content, data, errors) -%} {% with error=kwargs.get("error", errors.get(question_content.id)['message']), hidden=kwargs.get("hidden", question_content.hidden), hint=kwargs.get("hint", question_content.hint), link=kwargs.get("link", question_content.link), message=kwargs.message, name=kwargs.get("name", question_content.id), optional=kwargs.get("optional", question_content.optional), question=kwargs.get("question", question_content.question), question_advice=kwargs.get("question_advice", question_content.question_advice), question_number=kwargs.question_number, value=kwargs.get("value", "Document uploaded {}".format(data[question_content.id]) if data[question_content.id] else None) %} {% include "toolkit/forms/upload.html" %} {% endwith %} {%- endmacro %} {% macro number(question_content, data, errors) -%} {% with error=kwargs.get("error", errors.get(question_content.id)['message']), hidden=kwargs.get("hidden", question_content.hidden), hint=kwargs.get("hint", question_content.hint), message=kwargs.message, name=kwargs.get("name", question_content.id), optional=kwargs.get("optional", question_content.optional), question=kwargs.get("question", question_content.question), question_advice=kwargs.get("question_advice", question_content.question_advice), question_number=kwargs.question_number, smaller=kwargs.get("smaller", True), unit=kwargs.get("unit", question_content.unit), unit_in_full=kwargs.get("unit_in_full", question_content.unit_in_full), unit_position=kwargs.get("unit_position", question_content.unit_position), value=kwargs.get("value", data[question_content.id]) %} {% include "toolkit/forms/textbox.html" %} {% endwith %} {%- endmacro %} {% macro boolean_list(question_content, service_data, errors) -%} {% if question_content.boolean_list_questions %}
{{ question_content.name }}

{{ question_content.question }}

{% if question_content.question_advice %} {{ question_content.question_advice }} {% endif %} {% if question_content.hint %} {{ question_content.hint }} {% endif %} {% for boolean_question in question_content.boolean_list_questions %} {% set boolean_question_id = '{}-{}'.format(question_content.id, loop.index0) %} {% set existing_value = service_data[question_content.id][loop.index0] if (service_data[question_content.id] and service_data[question_content.id][loop.index0] is defined) else None %} {% with boolean_question_content = { 'id': boolean_question_id, 'question': boolean_question, }, data = { boolean_question_id: existing_value } %} {{ boolean(boolean_question_content, data, errors, message=kwargs.message) }} {% endwith %} {% endfor %}
{% endif %} {%- endmacro %} {% macro multiquestion(question_content, service_data, errors) -%}
{{ question_content.name }} {% if kwargs.question_number %} {{ kwargs.question_number }} {% endif %} {{ question_content.question }} {% if question_content.question_advice %} {{ question_content.question_advice }} {% endif %} {% if question_content.hint %} {{ question_content.hint }} {% endif %} {% import "toolkit/forms/macros/forms.html" as forms %} {% for child_question in question_content.questions %} {{ forms[child_question.type]( child_question, service_data, errors if errors and errors[child_question.id] else {}, message=( kwargs.message if service_data.get(child_question.id) is not none else None ) ) }} {% endfor %}
{%- endmacro %} {% macro question_textbox(name, question, value='', hint='', errors=None) -%} {% with value=value or '', error=errors[0] %} {% include "toolkit/forms/textbox.html" %} {% endwith %} {%- endmacro %} {% macro input(name, value='', errors=None, type='text') -%} {{ field_errors(name, errors) }} {%- endmacro %} {% macro question_textarea(name, question, value='', hint='', errors=None, max_length_in_words=None) -%} {% with large=True, error=errors[0] %} {% include "toolkit/forms/textbox.html" %} {% endwith %} {%- endmacro %} {% macro field_errors(name, errors=None) -%} {% if errors %}

{% for error in errors %}{{ error }}{% endfor %}

{% endif %} {%- endmacro %}