Merge remote branch 'remotes/elrond/dev/init'
[mediagoblin.git] / mediagoblin / templates / mediagoblin / utils / wtforms.html
index 155569366f4abb813d0a274dd948abfa5b7cc593..1d2f86199cf1345f2ebfd97dd1069aaafc071d5d 100644 (file)
 # 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) %}
+  <div class="form_field_box">
+    <div class="form_field_label">{{ field.label }}</div>
+    {% if field.description -%}
+      <div class="form_field_description">{{ field.description }}</div>
+    {%- endif %}
+    <div class="form_field_input">{{ field }}</div>
+    {%- if field.errors -%}
+      {% for error in field.errors %}
+        <div class="form_field_error">
+          {{ error }}
+        </div>
+      {% endfor %}
+    {%- endif %}
+  </div>
+{%- endmacro %}
+
+{# Generically render a textarea
+ # ... mostly the same thing except it includes rows and cols #}
+{% macro render_textarea_div(field, rows=8, cols=20) %}
+  <div class="form_field_box">
+    <div class="form_field_label">{{ field.label }}</div>
+    {% if field.description -%}
+      <div class="form_field_description">{{ field.description }}</div>
+    {%- endif %}
+    <div class="form_field_input">{{ field(rows=rows, cols=cols) }}</div>
+    {%- if field.errors -%}
+      {% for error in field.errors %}
+        <div class="form_field_error">
+          {{ error }}
+        </div>
+      {% endfor %}
+    {%- 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>