{% macro pager(page, pages, generator) -%} {% if pages > 1 %} {% endif %} {%- endmacro %} {% macro render_field(field, show_error_list=True) %}
{{ field.label }} {{ field(**kwargs)|safe }} {% if show_error_list and field.errors %} {% endif %}
{% endmacro %} {% macro render_ff (ff, delete) %}
{% if ff.type == "FormField" %} {% if delete %} Delete {% else %}

{{ admin_view.field_name(ff.short_name) }}

{% endif %}
{{ render_formfield(ff.form) }}
{% elif ff.type == "ListField" %}

{{ admin_view.field_name(ff.short_name) }}

{% if delete %} Delete {% endif %} {% set a = ff.new_generic() %}
{% for field in ff %} {{ render_ff(field, admin_view.can_edit or not instance) }} {% endfor %} {% if admin_view.can_edit or not instance %} {% endif %}
{% else %} {% if delete %} Delete {% else %} {% endif %}
{% set class='' %} {% if ff.type == "DateTimeField" %} {% set data_type="datetimepicker" %} {% endif %} {% if ff.errors|length>0 %} {% set class=class+' error' %}{% endif %} {% if not admin_view.can_edit and instance %} {% with reference = admin_view.get_reference(ff.data) %} {% if reference %} {% else %}
{{ ff.data }}
{% endif %} {% endwith %} {% else %} {{ ff(class=class) }} {% endif %} {% for error in ff.errors %}  {{ error }} {% endfor %} {% if ff.description %}

{{ ff.description }}

{% endif %}
{% endif %}
{% endmacro %} {% macro render_formfield(form) %}
{% set readonly_fields = admin_view.get_readonly_fields(instance) %} {% set field_names = admin_view.fields or form._fields.keys() %} {% for field_name in field_names %} {% if field_name in readonly_fields %} {% with f = readonly_fields[field_name] %}
{% if f.url %} {{ f.value }} {% else %} {{ f.value }} {% endif %}
{% endwith %} {% else %} {% if field_name != 'csrf_token' and field_name != 'csrf' %} {{ render_ff(form._fields[field_name]) }} {% endif %} {% endif %} {% endfor %}
{% endmacro %} {% macro render_form(form, extra=None, can_edit=True, can_delete=True) -%}
{{ form.hidden_tag() if form.hidden_tag is defined }} {{ render_formfield(form) }} {# if the view is not editable nor deletable, there's no point to show any buttons #} {% if can_edit or can_delete %}
{% if can_edit or not instance %} {% endif %} {% if extra %} {{ extra }} {% endif %}
{% endif %}
{% endmacro %}