{% macro form_input_label(name, id, required = False) -%} {%- endmacro %} {% macro form_input_error(name, error) -%} {% if error %}
{{ error }}
{% endif %} {%- endmacro %} {% macro text_input(label, name, required, type = 'text', value = None, error = None) -%} {% set id = "input-" ~ name %} {{ form_input_label(label, id, required) }} {{ form_input_error(name, error) }} {%- endmacro %} {% macro integer_input(label, name, required, value = None, error = None) -%} {% set id = "input-" ~ name %} {{ form_input_label(label, id, required) }} {{ form_input_error(name, error) }} {%- endmacro %} {% macro boolean_input(label, name, required, value = None, error = None) -%} {{ form_input_error(name, error) }} {%- endmacro %} {% macro choice_input(label, name, required, choices, value = None, error = None) -%} {% set id = "input-" ~ name %} {{ form_input_label(label, id, required) }} {{ form_input_error(name, error) }} {%- endmacro %} {% macro datetime_input(label, name, required, time, value = None, error = None) -%} {% set id = "input-" ~ name %} {{ form_input_label(label, id, required) }} {{ form_input_error(name, error) }} {%- endmacro %} {% macro phone_input(label, name, required, value = None, error = None) -%} {% set id = "input-" ~ name %} {{ form_input_label(label, id, required) }} {{ form_input_error(name, error) }} {%- endmacro %} {% macro address_input(label, name, required, value = None, error = None) -%}
{% set id = "input-" ~ name %} {{ form_input_label(label, id, required) }}
{{ form_input_label( _('Address line 1'), id ~ "-line1", required) }} {{ form_input_error(name, error.get("line1") if error else None) }}
{{ form_input_label( _('Address line 2'), id ~ "-line2", False) }} {{ form_input_error(name, error.get("line2") if error else None) }}
{{ form_input_label( _('Postal code'), id ~ "-postal_code", required) }} {{ form_input_error(name, error.get("postal_code") if error else None) }}
{{ form_input_label( _('City'), id ~ "-city", required) }} {{ form_input_error(name, error.get("city") if error else None) }}
{{ form_input_label( _('State'), id ~ "-state", False) }} {{ form_input_error(name, error.get("state") if error else None) }}
{{ form_input_label( _('Country'), id ~ "-country", required) }} {{ form_input_error(name, error.get("country") if error else None) }}
{%- endmacro %} {% macro timezone_input(label, name, required, value = None, error = None) -%} {% set id = "input-" ~ name %} {{ form_input_label(name, id, required) }} {{ form_input_error(name, error) }} {%- endmacro %} {% macro user_field_input(field, prefix = 'fields', value = None, error = None) -%} {% set slug = prefix ~ "." ~ field.slug %} {% set value = value if value else field.configuration.default %} {% if field.type in ["INTEGER"] %} {{ integer_input( field.name, slug, field.configuration.required, value, error, ) }} {% elif field.type in ["DATE", "DATETIME"] %} {{ datetime_input( field.name, slug, field.configuration.required, field.type == "DATETIME", value, error, ) }} {% elif field.type in ["BOOLEAN"] %} {{ boolean_input( field.name, slug, field.configuration.required, value, error, ) }} {% elif field.type in ["CHOICE"] %} {{ choice_input( field.name, slug, field.configuration.required, field.configuration.choices if field.configuration.choices else [], value, error, ) }} {% elif field.type in ["PHONE_NUMBER"] %} {{ phone_input( field.name, slug, field.configuration.required, value, error, ) }} {% elif field.type in ["ADDRESS"] %} {{ address_input( field.name, slug, field.configuration.required, value, error, ) }} {% elif field.type in ["TIMEZONE"] %} {{ timezone_input( field.name, slug, field.configuration.required, value, error, ) }} {% else %} {{ text_input( field.name, slug, field.configuration.required, 'text', value, error, ) }} {% endif %} {%- endmacro %}