{% from 'aiohttp_admin/blocks/form/fields/field.html' import field_generator %} {% from 'aiohttp_admin/blocks/messages.html' import messages %} {% macro form( action, controller_view, get_field_value, mapper=None, fields=None, method='POST', submit_text='submit', submit_cls='', exclude=[], with_defaults=False ) %}
{% if mapper %} {% if mapper.with_errors %} {{ messages("Invalid form", type="danger") }} {% endif %} {% if fields == '__all__' %} {% for name, field in mapper.fields.items() %} {% if name not in exclude %} {{ field_generator(name, field, controller_view, get_field_value, with_defaults) }} {% endif %} {% endfor %} {% else%} {% for name, field in mapper.fields.items() %} {% if name not in exclude and name in fields %} {{ field_generator(name, field, controller_view, get_field_value, with_defaults) }} {% endif %} {% endfor %} {% endif %} {% endif %} {% if mapper.error %}
{{ mapper.error }}
{%- endif %} {% if mapper %} {% for name, field in mapper.fields.items() %} {% if fields != '__all__' and (name not in fields or name in exclude) and field.errors %}
{{ name }} - {{ field.errors|join(',') }}
{% endif %} {% endfor %} {% endif %}
{% endmacro %}