Merge remote-tracking branch 'elrond/for-schendje'
[mediagoblin.git] / mediagoblin / templates / mediagoblin / utils / wtforms.html
index 155569366f4abb813d0a274dd948abfa5b7cc593..58ecb8e092f01df9cac725aed9dac7733396bc78 100644 (file)
@@ -1,6 +1,6 @@
 {#
 # GNU MediaGoblin -- federated, autonomous media hosting
-# Copyright (C) 2011 Free Software Foundation, Inc
+# 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
 # You should have received a copy of the GNU Affero General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #}
+
+{# Generically render a field #}
+{% macro render_field_div(field) %}
+  {% if field.label.text -%}
+    <p class="form_field_label"><label for="{{ field.label.field_id }}">{{ _(field.label.text) }}</label></p>
+  {%- endif %}
+  <div class="form_field_input">
+    {{ field }}
+    {%- if field.errors -%}
+      {% for error in field.errors %}
+        <p class="form_field_error">{{ _(error) }}</p>
+      {% endfor %}
+    {%- endif %}
+    {% if field.description -%}
+      <p class="form_field_description">{{ _(field.description)|safe }}</p>
+    {%- endif %}
+  </div>
+{%- endmacro %}
+
+{# Auto-render a form as a series of divs #}
+{% macro render_divs(form) -%}
+  {% for field in form %}
+    {{ render_field_div(field) }}
+  {% endfor %}
+{%- endmacro %}
+
+{# Auto-render a form as a table #}
 {% macro render_table(form) -%}
   {% for field in form %}
     <tr>
-      <th>{{field.label}}</th>
+      <th>{{ _(field.label.text) }}</th>
       <td>
         {{field}}
         {% if field.errors %}