{% extends "crud/common.html" %} {% import 'crud/macros/utils.html' as Utils %} {% import 'crud/macros/pagination.html' as Pagination %} {% import 'crud/macros/roles.html' as Roles %} {% import 'crud/macros/table.html' as Table %} {% import 'crud/macros/form.html' as Form %} {# Macros #} {% macro select_as_links(field) %} {% for value, name in field.choices %}
  • {{ name or 'All' }}
  • {% endfor %} {% endmacro %} {% macro dropdown_form(form, skip=()) %} {% for field in form if field.id not in skip %} {% if not loop.first %} {% endif %} {{ field.name|title }} {% endfor %} {% endmacro %} {% macro hidden_form_fields(form, skip=()) %} {% for field in form if field.id not in skip %} {{ field(style='display: none;') }} {% endfor %} {% endmacro %} {% macro filter_widget() %}
    {% if 'search' in filter_form %} {{ filter_form.search(class='left', style='width: 300px; height: 33px;') }} {% endif %} {% call Utils.dropdown(name='Filter by', right=True) %} {{ dropdown_form(filter_form, skip=['search']) }} {% endcall %}
    {% endmacro %} {% macro action_widget() %}
    {% call Utils.dropdown(name='With selected') %} {{ dropdown_form(action_form, skip=['ids']) }} {% endcall %}
    {% endmacro %} {# Body #} {% block content %}
    {{ Roles.buttons_create(roles) }}
    {% if show_action_form %} {{ action_widget() }} {% endif %} {% if show_filter_form %} {{ filter_widget() }} {% endif %}

    {{ Pagination.render(page, pages, total, url_generator) }}
    {% call Form.render_form(method='GET') %} {{ hidden_form_fields(filter_form, skip=['search']) }} {% endcall %} {% call Form.render_form() %} {{ hidden_form_fields(action_form, skip=['ids']) }} {% call Table.render_table(rules.columns, url_generator=url_generator, current=order_by) %} {% for item in items %} {% call Table.render_row(item, roles=roles) %} {{ rules(item) }} {% endcall %} {% endfor %} {% endcall %} {% endcall %}
    {{ Pagination.render(page, pages, total, url_generator) }}
    {% endblock %}