Added a new form rendering system, render_divs, and using it for registration
[mediagoblin.git] / mediagoblin / templates / mediagoblin / utils / wtforms.html
1 {#
2 # GNU MediaGoblin -- federated, autonomous media hosting
3 # Copyright (C) 2011 Free Software Foundation, Inc
4 #
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.
9 #
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.
14 #
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/>.
17 #}
18
19 {# Auto-render a form as a series of divs #}
20 {% macro render_divs(form) -%}
21 {% for field in form %}
22 <div class="form_field_box">
23 <div class="form_field_label">{{ field.label }}</div>
24 {% if field.description -%}
25 <div class="form_field_description">{{ field.description }}</div>
26 {%- endif %}
27 <div class="form_field_input">{{ field }}</div>
28 {%- if field.errors -%}
29 <div class="form_field_errors">
30 <ul>
31 {% for error in field.errors %}
32 <li>{{ error }}</li>
33 {% endfor %}
34 </ul>
35 </div>
36 {%- endif %}
37 </div>
38 {% endfor %}
39 {%- endmacro %}
40
41 {# Auto-render a form as a table #}
42 {% macro render_table(form) -%}
43 {% for field in form %}
44 <tr>
45 <th>{{field.label}}</th>
46 <td>
47 {{field}}
48 {% if field.errors %}
49 <br />
50 <ul class="errors">
51 {% for error in field.errors %}
52 <li>{{error}}</li>
53 {% endfor %}
54 </ul>
55 {% endif %}
56 </td>
57 </tr>
58 {% endfor %}
59 {%- endmacro %}