{% load i18n %}

{% load widget_tweaks %}

{% load appearance_tags %}

{% for asset in form.media.render_css %}
    {{ asset|safe }}
{% endfor %}

{% for group, errors in form.errors.items %}
    {% for error in errors %}
        <div class="alert alert-danger" role="alert">
            {{ error }}
        </div>
    {% endfor %}
{% endfor %}

{% if form_display_mode_table %}
    {% for field in form.hidden_fields %}
        {{ field }}
    {% endfor %}
    <tr>
    {% for field in form.visible_fields %}
        <td title="{% if field.errors %}{% for error in field.errors %}{{ error }}{% if not forloop.last %} | {% endif %}{% endfor %}{% else %}{{ field.help_text }}{% endif %}">
            {% if field.errors %}<div class="has-error">{% endif %}
                {% if field|widget_type == 'radioselect' %}
                    <div class="btn-group" data-toggle="buttons">
                        {% for option in field %}
                            <label class="btn btn-default {% if field.value == option.data.value %}active{% endif %}" for="{{ option.data.id }}">
                                <input type="radio" name="{{ option.data.name }}" id="{{ option.data.id }}" value="{{ option.data.value }}" {% if field.value == option.data.value %}checked{% endif %}> {{ option.data.label }}
                            </label>
                        {% endfor %}
                    </div>
                {% else %}
                    {% render_field field class+="form-control" %}
                {% endif %}
            {% if field.errors %}</div>{% endif %}
        </td>
    {% endfor %}
    </tr>
{% else %}

    {% for field in form.hidden_fields %}
        {{ field }}
    {% endfor %}
        {% for field in form.visible_fields %}
            <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 == 'datetimeinput' or field|widget_type == 'dateinput' %}
                    {% if read_only %}
                        {{ field.value }}
                    {% else %}
                        {% render_field field class+="form-control" %}
                    {% endif %}
                {% else %}
                    {% if read_only %}
                        {{ field.value }}
                    {% else %}
                        {% render_field field class+="form-control" %}
                    {% endif %}
                {% endif %}
                {% if field.help_text %}<p class="help-block">{{ field.help_text|safe }}</p>{% endif %}
            </div>
        {% endfor %}
{% endif %}

<script>
    {% for script in form|appearance_get_form_media_js %}
        $.getScript('{{ script }}');
    {% endfor %}
</script>
