Skip to content
Snippets Groups Projects
Commit 34026e5e authored by kaiyou's avatar kaiyou
Browse files

Improve the login form and add macros for forms

parent 14ea2fb6
No related branches found
No related tags found
No related merge requests found
Pipeline #243 passed
......@@ -4,10 +4,5 @@
{% block subtitle %}{% endblock %}
{% block content %}
<form method="POST" action="{{ action }}">
{{ form.hidden_tag() }}
{{ form.username }}
{{ form.password }}
{{ form.submit }}
</form>
{{ macros.form(form) }}
{% endblock %}
......@@ -34,3 +34,50 @@
</div>
</div>
{% endmacro %}
{% macro form_fields(fields, prepend='', append='', label=True) %}
{% set width = (12 / fields|length)|int %}
<div class="form-group">
<div class="row">
{% for field in fields %}
<div class="col-lg-{{ width }} col-xs-12 {{ 'has-error' if field.errors else '' }}">
{{ form_individual_field(field, prepend=prepend, append=append, label=label, **kwargs) }}
</div>
{% endfor %}
</div>
</div>
{% endmacro %}
{% macro form_individual_field(field, prepend='', append='', label=True, class_="") %}
{% if field.type == "BooleanField" %}
{{ field(**kwargs) }}<span>&nbsp;&nbsp;</span>
{{ field.label if label else '' }}
{% else %}
{{ field.label if label else '' }}
{% if field.errors %}
{% for error in field.errors %}
<p class="help-block inline">{{ error }}</p>
{% endfor %}
{% endif %}
{% if prepend or append %}<div class="input-group">{% endif %}
{{ prepend|safe }}{{ field(class_="form-control " + class_, **kwargs) }}{{ append|safe }}
{% if prepend or append %}</div>{% endif %}
{% endif %}
{% endmacro %}
{% macro form_field(field) %}
{% if field.type == 'SubmitField' %}
{{ form_fields((field,), label=False, class="btn btn-default", **kwargs) }}
{% elif field.type not in ('HiddenField', 'CSRFTokenField') %}
{{ form_fields((field,), **kwargs) }}
{% endif %}
{% endmacro %}
{% macro form(form) %}
<form class="form" method="post" role="form">
{{ form.hidden_tag() }}
{% for field in form %}
{{ form_field(field) }}
{% endfor %}
</form>
{% endmacro %}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment