{% import 'shelf/lib.html' as lib with context %} {%- macro render_field(form, field, kwargs={}) -%} {%- if "class_" in kwargs -%} {%- set classes = "%s %s" % ("form-control", kwargs['class_']) -%} {{ field(class_=classes)|safe -}} {%- else -%} {%- if field.type == "QuerySelectField" or field.type == "Select2Field" -%} {{- field(style="width: 100%", **kwargs)|safe -}} {%- elif field.type == "BooleanField" -%} {{- field(class_="js-switch", **kwargs)|safe -}} {%- else -%} {{- field(class_="form-control", **kwargs)|safe -}} {%- endif -%} {%- endif -%} {%- endmacro -%} {% macro render_form_fields(form, form_opts=None, extra=None) %} {% if form.hidden_tag is defined %} {{ form.hidden_tag() }} {% else %} {% if csrf_token %} {% endif %} {% for f in form if f.type == 'HiddenField' %} {{ f }} {% endfor %} {% endif %} {% if extra %} {{ extra }} {% endif %} {% if form_opts and form_opts.form_rules %} {% for r in form_opts.form_rules %} {{ r(form, form_opts=form_opts) }} {% endfor %} {% else %} {% for f in form if f.type != 'HiddenField' and f.type != 'CSRFTokenField' %}
{% if form_opts %} {% set kwargs = form_opts.widget_args.get(f.name, {}) %} {% else %} {% set kwargs = {} %} {% endif %}
{{ render_field(form, f) }}
{% endfor %} {% endif %} {% endmacro %} {% if field[0].form %} {{ render_form_fields(field[0].form) }} {% else %} {% if field[0].type == 'TextField' %} {% set lang = field.langs[0] %}
{%- for subfield in field %} {%- set lang = field.langs[loop.index0] %}
{{ render_field(form, subfield) }}
{%- endfor %}
{% elif field[0].type in ['ClassicWysiwygField', 'FullWysiwygField'] %}
{%- for subfield in field %} {%- set lang = field.langs[loop.index0] %}
{{ render_field(form, subfield) }}
{%- endfor %}
{% else %} {{ render_field(form, field[0]) }} {% endif %} {% endif %} {% if field[0].form or field[0].type not in ['TextField', 'ClassicWysiwygField', 'FullWysiwygField'] %}
{% for subfield in field[1:] %} {% set lang = field.langs[loop.index] %}

{{ lang.upper() }}

{% if subfield.form %} {{ render_form_fields(subfield.form) }} {% else %} {{ render_field(form, subfield) }} {% endif %}
{% endfor %}
{% endif %}