2 # GNU MediaGoblin -- federated, autonomous media hosting
3 # Copyright (C)
2011,
2012 MediaGoblin contributors. See AUTHORS.
5 # This program is free software: you can redistribute it and/or modify
6 # it under the terms of the GNU Affero General Public License as published by
7 # the Free Software Foundation, either version
3 of the License, or
8 # (at your option) any later version.
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU Affero General Public License for more details.
15 # You should have received a copy of the GNU Affero General Public License
16 # along with this program. If not, see
<http://www.gnu.org/licenses
/>.
19 {# Render the label for a field #}
20 {% macro render_label(field) %}
21 {%- if field.label.text -%}
22 <label for=
"{{ field.label.field_id }}">{{ field.label.text }}
</label>
26 {# Render the label in a
<p> for a field #}
27 {% macro render_label_p(field) %}
28 {%- if field.label.text %}
29 <p class=
"form_field_label">
30 {{- render_label(field) -}}
35 {# Generically render a field #}
36 {% macro render_field_div(field, autofocus_first=False) %}
37 {% if field.type == 'BooleanField' %}
38 {{ render_bool(field) }}
40 {{- render_label_p(field) }}
41 <div class=
"form_field_input">
42 {% if autofocus_first %}
43 {{ field(autofocus=True) }}
47 {%- if field.errors -%}
48 {% for error in field.errors %}
49 <p class=
"form_field_error">{{ error }}
</p>
52 {%- if field.description %}
53 <p class=
"form_field_description">{{ field.description|safe }}
</p>
59 {# Auto-render a form as a series of divs #}
60 {% macro render_divs(form, autofocus_first=False) -%}
61 {% for field in form %}
62 {% if autofocus_first and loop.first %}
63 {{ render_field_div(field, True) }}
65 {{ render_field_div(field) }}
70 {# Auto-render a form as a table #}
71 {% macro render_table(form) -%}
72 {% for field in form %}
73 render_field_as_table_row(field)
77 {% macro render_form_as_table_row(form) %}
79 {%- for field in form %}
80 <td class=
"form_field_input">
86 {%- for field in form %}
87 {% for error in field.errors %}
90 <p class=
"form_field_error">{{error}}
</p>
97 {% macro render_field_as_table_row(field) %}
99 <th>{{ field.label.text }}
</th>
104 {% for error in field.errors %}
107 <p class=
"form_field_error">{{error}}
</p>
113 {% macro render_fieldlist_as_table_rows(fieldlist) %}
114 {% for field in fieldlist -%}
115 {%- if field.type == 'FormField' %}
116 {{ render_form_as_table_row(field) }}
118 {{ render_field_as_table_row(field) }}
123 {# Render a boolean field #}
124 {% macro render_bool(field) %}
125 <div class=
"boolean">
126 <label for=
"{{ field.label.field_id }}">
128 {{ field.description|safe }}
130 {%- if field.errors -%}
131 {% for error in field.errors %}
132 <p class=
"form_field_error">{{ error }}
</p>