{# # GNU MediaGoblin -- federated, autonomous media hosting # Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . #} {# Render the label for a field #} {% macro render_label(field) %} {%- if field.label.text -%} {%- endif -%} {%- endmacro %} {# Render the label in a

for a field #} {% macro render_label_p(field) %} {%- if field.label.text %}

{{- render_label(field) -}}

{%- endif %} {%- endmacro %} {# Generically render a field #} {% macro render_field_div(field, autofocus_first=False) %} {% if field.type == 'BooleanField' %} {{ render_bool(field) }} {% else %} {{- render_label_p(field) }}
{% if autofocus_first %} {{ field(autofocus=True) }} {% else %} {{ field }} {% endif %} {%- if field.errors -%} {% for error in field.errors %}

{{ error }}

{% endfor %} {%- endif %} {%- if field.description %}

{{ field.description|safe }}

{%- endif %}
{% endif %} {%- endmacro %} {# Auto-render a form as a series of divs #} {% macro render_divs(form, autofocus_first=False) -%} {% for field in form %} {% if autofocus_first and loop.first %} {{ render_field_div(field, True) }} {% else %} {{ render_field_div(field) }} {% endif %} {% endfor %} {%- endmacro %} {# Auto-render a form as a table #} {% macro render_table(form) -%} {% for field in form %} render_field_as_table_row(field) {% endfor %} {%- endmacro %} {% macro render_form_as_table_row(form) %} {%- for field in form %} {{field}} {%- endfor %} {%- for field in form %} {% for error in field.errors %}

{{error}}

{%- endfor %} {%- endfor %} {%- endmacro %} {% macro render_field_as_table_row(field) %} {{ field.label.text }} {{field}} {% for error in field.errors %}

{{error}}

{%- endfor %} {% endmacro %} {% macro render_fieldlist_as_table_rows(fieldlist) %} {% for field in fieldlist -%} {%- if field.type == 'FormField' %} {{ render_form_as_table_row(field) }} {%- else %} {{ render_field_as_table_row(field) }} {%- endif %} {% endfor -%} {% endmacro %} {# Render a boolean field #} {% macro render_bool(field) %}
{%- if field.errors -%} {% for error in field.errors %}

{{ error }}

{% endfor %} {% endif %}
{% endmacro %}