Make showing the Terms of Service a user option, and move it to the footer.
[mediagoblin.git] / mediagoblin / templates / mediagoblin / utils / wtforms.html
CommitLineData
76c9ea6b
WKG
1{#
2# GNU MediaGoblin -- federated, autonomous media hosting
cf29e8a8 3# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS.
76c9ea6b
WKG
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#}
8566cdda 18
cde7a07d
E
19{# Render the label for a field #}
20{% macro render_label(field) %}
21 {%- if field.label.text -%}
665b9c42 22 <label for="{{ field.label.field_id }}">{{ field.label.text }}</label>
cde7a07d
E
23 {%- endif -%}
24{%- endmacro %}
25
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) -}}
31 </p>
32 {%- endif %}
33{%- endmacro %}
34
528f9acd 35{# Generically render a field #}
e4deacd9 36{% macro render_field_div(field, autofocus_first=False) %}
f7998c33
RE
37 {% if field.type == 'BooleanField' %}
38 {{ render_bool(field) }}
39 {% else %}
40 {{- render_label_p(field) }}
41 <div class="form_field_input">
42 {% if autofocus_first %}
43 {{ field(autofocus=True) }}
1e21471a 44 {% else %}
f7998c33 45 {{ field }}
1e21471a 46 {% endif %}
f7998c33
RE
47 {%- if field.errors -%}
48 {% for error in field.errors %}
49 <p class="form_field_error">{{ error }}</p>
50 {% endfor %}
51 {%- endif %}
52 {%- if field.description %}
53 <p class="form_field_description">{{ field.description|safe }}</p>
54 {%- endif %}
55 </div>
56 {% endif %}
528f9acd
CAW
57{%- endmacro %}
58
8566cdda 59{# Auto-render a form as a series of divs #}
e4deacd9 60{% macro render_divs(form, autofocus_first=False) -%}
8566cdda 61 {% for field in form %}
e4deacd9
RE
62 {% if autofocus_first and loop.first %}
63 {{ render_field_div(field, True) }}
64 {% else %}
65 {{ render_field_div(field) }}
66 {% endif %}
8566cdda
CAW
67 {% endfor %}
68{%- endmacro %}
69
70{# Auto-render a form as a table #}
ef7cdac5
CAW
71{% macro render_table(form) -%}
72 {% for field in form %}
73 <tr>
665b9c42 74 <th>{{ field.label.text }}</th>
ef7cdac5
CAW
75 <td>
76 {{field}}
77 {% if field.errors %}
78 <br />
79 <ul class="errors">
80 {% for error in field.errors %}
81 <li>{{error}}</li>
82 {% endfor %}
83 </ul>
84 {% endif %}
85 </td>
86 </tr>
87 {% endfor %}
88{%- endmacro %}
f7998c33
RE
89
90{# Render a boolean field #}
91{% macro render_bool(field) %}
a937ea9e 92 <div class="boolean">
643f07af
RE
93 <label for="{{ field.label.field_id }}">
94 {{ field }}</input>
95 {{ field.description|safe }}
96 </label>
97 {%- if field.errors -%}
98 {% for error in field.errors %}
99 <p class="form_field_error">{{ error }}</p>
100 {% endfor %}
101 {% endif %}
102 </div>
f7998c33
RE
103{% endmacro %}
104