{% macro render_field_label(field, class) -%} {{ field.label(class_=class) }} {%- if field.flags.required %}*{% endif %} {%- endmacro %} {% macro render_field_description(field) %} {%- if field.errors %}
{%- elif field.description %} {{ field.description|safe }} {%- endif %} {% endmacro %} {% macro render_field(field) %} {%- if field.widget.input_type == 'submit' or field.widget.input_type == 'hidden' %} {{ field(**kwargs) }} {%- else %} {%- if field.widget.input_type == 'checkbox' %} {%- set group_class = _template.theme.form_group_class ~ " form-check" %} {%- set input_class = "form-check-input" %} {%- set label_class = "form-check-label" %} {%- else %} {%- set group_class = _template.theme.form_group_class %} {%- set input_class = "form-control" %} {%- set label_class = "form-label" %} {%- endif %} {%- if field.errors %} {%- set input_class = input_class ~ " is-invalid" %} {%- endif %}
{%- if field.widget.input_type == 'checkbox' %} {{ field(class_=input_class,**kwargs) | safe }} {{ render_field_label(field, label_class) }} {%- else %} {{ render_field_label(field, label_class) }} {{ field(class_=input_class,**kwargs) | safe }} {%- endif %} {{ render_field_description(field) }}
{%- endif %} {% endmacro %} {% macro render_form_fields(form, form_opts=None) %} {% for f in form if f.widget.input_type != 'hidden' %} {% if form_opts %} {% set kwargs = form_opts.widget_args.get(f.short_name, {}) %} {% else %} {% set kwargs = {} %} {% endif %} {{ render_field(f,**kwargs) }} {% endfor %} {% for f in form if f.widget.input_type == 'hidden' %}{{ f }}{% endfor %} {% endmacro %} {% macro render_form(form, action=None, form_opts=None, multipart=False) %}
{{ render_form_fields(form, form_opts=form_opts) }}
{% endmacro %} {% macro render_modal_form(form, action=None, title=None, form_opts=None) %}
{% endmacro %} {% macro extra(view) %} {% if view.can_create %}{% endif %} {% if view.can_edit %}{% endif %} {% endmacro %}