{% set min = page - 3 %}
{% set max = page + 3 + 1 %}
{% if min < 0 %}
{% set max = max - min %}
{% endif %}
{% if max >= pages %}
{% set min = min - max + pages %}
{% endif %}
{% if min < 0 %}
{% set min = 0 %}
{% endif %}
{% if max >= pages %}
{% set max = pages %}
{% endif %}
{% if min > 0 %}
{% else %}
{% endif %}
{% if page > 0 %}
{% else %}
{% endif %}
{% for p in range(min, max) %}
{% if page == p %}
{% else %}
{% endif %}
{% endfor %}
{% if page + 1 < pages %}
{% else %}
{% endif %}
{% if max < pages %}
{% else %}
{% endif %}
#}
{% endmacro %}
{% macro render_form_fields(form, set_focus=True, widget_args={}) %}
{% if form.hidden_tag is defined %}
{{ form.hidden_tag() }}
{% else %}
{% for f in form if f.type == 'HiddenField' %}
{{ f }}
{% endfor %}
{% endif %}
{% for f in form if f.type != 'HiddenField' and f.type != 'CSRFTokenField' %}
{% set kwargs = widget_args.get(f.name, {}) %}
{{ render_field(form, f, not loop.index0 and set_focus, kwargs) }}
{% endfor %}
{% endmacro %}
{% macro form_tag(form=None) %}
{% endmacro %}
{% macro render_form_buttons(cancel_url, extra=None) %}