{% load i18n %}

{% load widget_tweaks %}

{% load appearance_tags %}

<div class="form-group {% if field.errors %}has-error{% endif %} {{ form_field_css_classes }}">
    {# We display the label then the field for all except checkboxes #}
    {% if field|widget_type != 'checkboxinput' and not field.field.widget.attrs.hidden %}
        {% if not hide_labels %}{{ field.label_tag }}{% if field.field.required and not read_only %} ({% trans 'required' %}){% endif %}{% endif %}
    {% endif %}
    {% if field|widget_type == 'checkboxinput' %}
        <div class="checkbox">
            <label>
                <input {% if field.value %}checked="checked"{% endif %} name="{% if form.prefix %}{{ form.prefix }}-{% endif %}{{ field.name }}" type="checkbox" {% include 'django/forms/widgets/attrs.html' with widget=field.field.widget %} />
                {% if not hide_labels %}{{ field.label }}{% if field.field.required and not read_only %} ({% trans 'required' %}){% endif %}{% endif %}
            </label>
        </div>
    {% elif field|widget_type == 'emailinput' %}
        {% if read_only %}
            {{ field.value }}
        {% else %}
            {% render_field field class+="form-control" %}
        {% endif %}
    {% elif field|widget_type == 'textinput' %}
        {% if read_only %}
            {{ field.value }}
        {% else %}
            {% render_field field class+="form-control" %}
        {% endif %}
    {% elif field|widget_type == 'textarea' %}
        {% if read_only %}
            {{ field.value }}
        {% else %}
            {% render_field field class+="form-control" %}
        {% endif %}
    {% elif field|widget_type == 'select' %}
        {% if read_only %}
            {{ field|appearance_get_choice_value }}
        {% else %}
            {% render_field field class+="form-control" %}
        {% endif %}
    {% elif field|widget_type == 'selectmultiple' %}
        {% if read_only %}
            {{ field|appearance_get_choice_value }}
        {% else %}
            {% render_field field class+="form-control" %}
        {% endif %}
    {% elif field|widget_type == 'clearablefileinput' %}
        {# Don't add 'form-control' class to filebrowse fields #}
        {% if field.errors %}
            {% render_field field class+="form-control" %}
        {% else %}
            {% render_field field class+="" %}
        {% endif %}
    {% elif field|widget_type == 'radioselect' %}
        <div class="radio">
            {% render_field field %}
        </div>
    {% elif field|widget_type == 'checkboxselectmultiple' %}
        {% for option in field %}
            <div class="checkbox">
                {{ option }}
            </div>
        {% endfor %}
    {% elif field|widget_type in 'datetimeinput,dateinput,numberinput' %}
        {% if read_only %}
            {{ field.value }}
        {% else %}
            {% render_field field class+="form-control" %}
        {% endif %}
    {% else %}
        {% render_field field class+="form-control" %}
    {% endif %}
    {% if field.help_text and not form_hide_help_text %}<p class="help-block">{{ field.help_text|safe }}</p>{% endif %}
</div>
