{%- macro field_label(field) -%} {% endmacro %} {%- macro field_description(field) -%} {% if field.description %} {{ field.description|safe }} {% endif %} {%- endmacro -%} {%- macro field_errors(field) -%} {% if field.errors %} {%- for error in field.errors -%} {{error}} {%- endfor -%} {% endif %} {%- endmacro -%} {%- macro render_quickreply(field, rows, cols, div_class='') -%} {%- if kwargs['required'] or field.flags.required -%} {% if div_class %} {{ field(class=div_class, required="required", cols=cols, rows=rows, placeholder=field.label.text, **kwargs) }} {% else %} {{ field(class="new-message", required="required", cols=cols, rows=row, placeholder=field.label.text, **kwargs) }} {% endif %} {%- else -%} {% if div_class %} {{ field(class=div_class, cols=cols, rows=row, placeholder=field.label.text, **kwargs) }} {% else %} {{ field(class="new-message", cols=cols, rows=row, placeholder=field.label.text, **kwargs) }} {% endif %} {%- endif -%} {{ field_description(field) }} {{ field_errors(field) }} {%- endmacro -%} {# Renders a non bootstrap input field #} {%- macro render_input_field(field, div_class='', placeholder='') -%} {%- if div_class -%}
{%- endif -%} {%- if placeholder -%} {% set field_placeholder = placeholder %} {%- else -%} {% set field_placeholder = field.label.text %} {%- endif -%} {%- if kwargs['required'] or field.flags.required -%} {{ field(required="required", placeholder=field_placeholder) }} {%- else -%} {{ field(placeholder=field_placeholder) }} {% endif %} {%- if div_class -%}
{%- endif -%} {{ field_description(field) }} {{ field_errors(field) }} {%- endmacro -%} {%- macro render_boolean_field(field, inline=False) -%}
{{ field_description(field) }} {{ field_errors(field) }}
{%- endmacro -%} {%- macro render_select_field(field, div_class='', select_class="form-control") -%}
{% if div_class %}
{% else %}
{% endif %} {% if field.type == 'QuerySelectMultipleField' or field.type == 'SelectMultipleField' %} {{ field(multiple=True, class=select_class) }} {% else %} {{ field(class=select_class) }} {%- endif -%} {{ field_description(field) }} {{ field_errors(field) }}
{%- endmacro -%} {%- macro render_submit_field(field, div_class='', input_class='') -%} {% if div_class %}
{% endif %} {{ field(class=input_class or 'btn btn-success') }} {% if div_class %}
{% endif %} {%- endmacro -%} {%- macro render_field(field, with_label=True, div_class='', rows='') -%}
{% if with_label %} {% endif %} {%- if kwargs['required'] or field.flags.required -%} {% if rows %} {{ field(class="form-control", required="required", rows=rows, placeholder=field.label.text, **kwargs) }} {% else %} {{ field(class="form-control", required="required", placeholder=field.label.text, **kwargs) }} {% endif %} {%- else -%} {% if rows %} {{ field(class="form-control", rows=rows, placeholder=field.label.text, **kwargs) }} {% else %} {{ field(class="form-control", placeholder=field.label.text, **kwargs) }} {% endif %} {%- endif -%} {{ field_description(field) }} {{ field_errors(field) }}
{%- endmacro -%} {%- macro inline_field(field, label_text='', label_class='') -%}
{{field.label(class="sr-only")}}
{%- if kwargs['required'] or field.flags.required -%} {% if label_text %} {{field(class='form-control', placeholder=label_text, required="required", **kwargs)}} {% else %} {{field(class='form-control', placeholder=field.label.text, required="required", **kwargs)}} {% endif %} {%- else -%} {% if label_text %} {{field(class='form-control', placeholder=label_text, **kwargs)}} {% else %} {{field(class='form-control', placeholder=field.label.text, **kwargs)}} {% endif %} {%- endif -%} {{ field_description(field) }} {{ field_errors(field) }}
{%- endmacro -%} {%- macro group_field(field, label_text='', label_class='', css_class='form-control form-grouped') -%}
{{field.label(class="sr-only")}} {%- if kwargs['required'] or field.flags.required -%} {% if label_text %} {{field(class=css_class, placeholder=label_text, required="required", **kwargs)}} {% else %} {{field(class=css_class, placeholder=field.label.text, required="required", **kwargs)}} {% endif %} {%- else -%} {% if label_text %} {{field(class=css_class, placeholder=label_text, **kwargs)}} {% else %} {{field(class=css_class, placeholder=field.label.text, **kwargs)}} {% endif %} {%- endif -%} {{ field_description(field) }} {{ field_errors(field) }}
{%- endmacro -%} {%- macro input_group_field(field, label_text='', css_class='form-control') -%} {%- if kwargs['required'] or field.flags.required -%} {% if label_text %} {{field(class=css_class, placeholder=label_text, required="required", **kwargs)}} {% else %} {{field(class=css_class, placeholder=field.label.text, required="required", **kwargs)}} {% endif %} {%- else -%} {% if label_text %} {{field(class=css_class, placeholder=label_text, **kwargs)}} {% else %} {{field(class=css_class, placeholder=field.label.text, **kwargs)}} {% endif %} {%- endif -%} {%- endmacro -%} {%- macro horizontal_select_field(field, div_class='', label_class='', select_class="form-control", surrounded_div="col-sm-4") -%}
{% if label_class %} {{ field.label(class=label_class) }} {% else %} {{ field.label(class="col-sm-3 control-label") }} {% endif %} {% if div_class %}
{% else %}
{% endif %}
{% if field.type == 'QuerySelectMultipleField' or field.type == 'SelectMultipleField' %} {{ field(multiple=True, class=select_class, surrounded_div=surrounded_div) }} {% else %} {{ field(class=select_class, surrounded_div=surrounded_div) }} {%- endif -%}
{{ field_description(field) }} {{ field_errors(field) }}
{%- endmacro -%} {%- macro horizontal_boolean_field(field, div_class='') -%}
{{ render_boolean_field(field, **kwargs) }}
{%- endmacro -%} {%- macro horizontal_submit_field(field, div_class='', input_class='') -%}
{{ field(class=input_class or 'btn btn-success') }}
{%- endmacro -%} {%- macro horizontal_field(field, label_text='', label_class='', div_class='', input_class='') -%}
{% if field.type == "BooleanField" or field.type == "SubmitField" %} {% if field.type == "BooleanField" %} {{ horizontal_boolean_field(field, div_class) }} {% else %} {{ horizontal_submit_field(field, div_class) }} {% endif %} {% else %} {% if label_class %} {{ field.label(class=label_class) }} {% else %} {{ field.label(class="col-sm-3 control-label") }} {% endif %} {% if div_class %}
{% else %}
{% endif %} {%- if kwargs['required'] or field.flags.required -%} {% if label_text %} {{ field(class='form-control', placeholder=label_text, required="required", **kwargs) }} {% else %} {{ field(class='form-control', placeholder=field.label.text, required="required", **kwargs) }} {% endif %} {%- else -%} {% if label_text %} {{ field(class='form-control', placeholder=label_text, **kwargs) }} {% else %} {{ field(class='form-control', placeholder=field.label.text, **kwargs) }} {% endif %} {%- endif -%}
{% endif %} {{ field_description(field) }} {{ field_errors(field) }}
{%- endmacro -%} {% macro topnav(endpoint, name, icon='', id='', active=False) %}
  • {% if icon %} {% endif %}{{ name }}
  • {% endmacro %} {% macro is_active(endpoint, active=False) %} {%- if endpoint == request.endpoint or active == True -%} active {%- endif -%} {% endmacro %} {% macro navlink(endpoint, name, icon='', active='', urlforkwargs=None) %}
  • {% if icon %} {% endif %} {{ name }}
  • {% endmacro %} {% macro externalnavlink(uri, name, icon='') %}
  • {% if icon %} {% endif %} {{ name }}
  • {% endmacro %} {% macro navtext(text, icon="", cls="") %} {% if icon %} {% endif %}{{ text }} {% endmacro %} {% macro navheader(text, icon="", cls="nav-header") %} {{ navtext(text, icon, cls) }} {% endmacro %} {% macro navdivider() %} {% endmacro %} {% macro sidebar(items, extra_class="") %} {% if items %} {% endif %} {% endmacro %} {% macro tablink_href(endpoint, name, active=False) %}
  • {{ name }}
  • {% endmacro %} {% macro render_pagination(page_obj, url, ul_class='', sort_by=None, asc=True) %}
      {% set ordering = 'asc' if asc == True else 'desc' %} {% set sorting = '&sort_by='+(sort_by|urlencode)+'&order_by='+ordering if sort_by is string else '' %}
    • {% trans %}Pages{% endtrans %}:
    • {%- for page in page_obj.iter_pages() %} {% if page %} {% if page != page_obj.page %}
    • {{ page }}
    • {% else %}
    • {{ page }}
    • {% endif %} {% endif %} {%- else -%}
    • 1
    • {%- endfor %} {% if page_obj.has_next %}
    • »
    • {% endif %}
    {% endmacro %} {% macro render_topic_pagination(page_obj, url) %} {% endmacro %} {% macro message_pagination(page_obj, url) %}
      {%- for page in page_obj.iter_pages() %} {% if page %} {% if page != page_obj.page %}
    • {{ page }}
    • {% else %}
    • {{ page }}
    • {% endif %} {% endif %} {%- else -%}
    • 1
    • {%- endfor %} {% if page_obj.has_next %}
    • »
    • {% endif %}
    {% endmacro %} {# Generates a some kind of pagination for the posts in topic in the forum view. #} {%- macro topic_pages(topic_obj, per_page=10) -%} {% set pages = (topic_obj.post_count / per_page)|round(method='ceil')|int %} {% set max_pages = 4 %} {% set page_count = pages if pages <= max_pages else max_pages %} {%- if pages > 1 -%} [ {%- for page in range(1, page_count+1) -%} {% if pages > max_pages and page == max_pages-1 %} {{ page }} ... {% elif pages > max_pages and loop.last %} {{ pages }} {% else %} {{ page }} {% endif %} {%- endfor -%} ] {%- endif -%} {%- endmacro -%} {# Generates a topic url with an anchor to the post XXX: Rename to generate_anchor_url to make it universally useful #} {%- macro generate_post_url(topic, post, page) -%} {%- if page > 1 -%} {{ topic.url }}?page={{ page }}#pid{{ post.id }} {%- else -%} {{ topic.url }}#pid{{ post.id }} {%- endif -%} {%- endmacro -%} {# Generates the pagination object id in a list. For example, on id should continue with 11 on page 2 if per_page is set to 10 #} {%- macro generate_obj_id(obj, page, per_page) -%} {%- if obj.page == 1 -%} {{ page }} {%- else -%} {{ page + (obj.page - 1) * per_page }} {%- endif -%} {%- endmacro -%}