151 lines
5.0 KiB
Twig
Executable File
151 lines
5.0 KiB
Twig
Executable File
{% use "bootstrap_base_layout.html.twig" %}
|
|
|
|
{# Widgets #}
|
|
|
|
{% block form_widget_simple -%}
|
|
{% if type is not defined or type not in ['file', 'hidden'] %}
|
|
{%- set attr = attr|merge({class: (attr.class|default('') ~ ' form-control')|trim}) -%}
|
|
{% endif %}
|
|
{{- parent() -}}
|
|
{%- endblock form_widget_simple %}
|
|
|
|
{% block button_widget -%}
|
|
{%- set attr = attr|merge({class: (attr.class|default('btn-default') ~ ' btn')|trim}) -%}
|
|
{{- parent() -}}
|
|
{%- endblock button_widget %}
|
|
|
|
{% block checkbox_widget -%}
|
|
{%- set parent_label_class = parent_label_class|default(label_attr.class|default('')) -%}
|
|
{% if 'checkbox-inline' in parent_label_class %}
|
|
{{- form_label(form, null, { widget: parent() }) -}}
|
|
{% else -%}
|
|
<div class="checkbox">
|
|
{{- form_label(form, null, { widget: parent() }) -}}
|
|
</div>
|
|
{%- endif -%}
|
|
{%- endblock checkbox_widget %}
|
|
|
|
{% block radio_widget -%}
|
|
{%- set parent_label_class = parent_label_class|default(label_attr.class|default('')) -%}
|
|
{%- if 'radio-inline' in parent_label_class -%}
|
|
{{- form_label(form, null, { widget: parent() }) -}}
|
|
{%- else -%}
|
|
<div class="radio">
|
|
{{- form_label(form, null, { widget: parent() }) -}}
|
|
</div>
|
|
{%- endif -%}
|
|
{%- endblock radio_widget %}
|
|
|
|
{# Labels #}
|
|
|
|
{% block form_label -%}
|
|
{%- set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ' control-label')|trim}) -%}
|
|
{{- parent() -}}
|
|
{%- endblock form_label %}
|
|
|
|
{% block choice_label -%}
|
|
{# remove the checkbox-inline and radio-inline class, it's only useful for embed labels #}
|
|
{%- set label_attr = label_attr|merge({class: label_attr.class|default('')|replace({'checkbox-inline': '', 'radio-inline': ''})|trim}) -%}
|
|
{{- block('form_label') -}}
|
|
{% endblock %}
|
|
|
|
{% block checkbox_label -%}
|
|
{%- set label_attr = label_attr|merge({'for': id}) -%}
|
|
|
|
{{- block('checkbox_radio_label') -}}
|
|
{%- endblock checkbox_label %}
|
|
|
|
{% block radio_label -%}
|
|
{%- set label_attr = label_attr|merge({'for': id}) -%}
|
|
|
|
{{- block('checkbox_radio_label') -}}
|
|
{%- endblock radio_label %}
|
|
|
|
{% block checkbox_radio_label -%}
|
|
{# Do not display the label if widget is not defined in order to prevent double label rendering #}
|
|
{%- if widget is defined -%}
|
|
{%- if required -%}
|
|
{%- set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ' required')|trim}) -%}
|
|
{%- endif -%}
|
|
{%- if parent_label_class is defined -%}
|
|
{%- set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ' ' ~ parent_label_class)|trim}) -%}
|
|
{%- endif -%}
|
|
{%- if label is not same as(false) and label is empty -%}
|
|
{%- if label_format is not empty -%}
|
|
{%- set label = label_format|replace({
|
|
'%name%': name,
|
|
'%id%': id,
|
|
}) -%}
|
|
{%- else -%}
|
|
{% set label = name|humanize %}
|
|
{%- endif -%}
|
|
{%- endif -%}
|
|
<label{% for attrname, attrvalue in label_attr %} {{ attrname }}="{{ attrvalue }}"{% endfor %}>
|
|
{{- widget|raw }} {{ label is not same as(false) ? (translation_domain is same as(false) ? label : label|trans({}, translation_domain)) -}}
|
|
</label>
|
|
{%- endif -%}
|
|
{%- endblock checkbox_radio_label %}
|
|
|
|
{# Rows #}
|
|
|
|
{% block form_row -%}
|
|
<div class="form-group{% if (not compound or force_error|default(false)) and not valid %} has-error{% endif %}">
|
|
{{- form_label(form) -}}
|
|
{{- form_widget(form) -}}
|
|
{{- form_errors(form) -}}
|
|
</div>
|
|
{%- endblock form_row %}
|
|
|
|
{% block button_row -%}
|
|
<div class="form-group">
|
|
{{- form_widget(form) -}}
|
|
</div>
|
|
{%- endblock button_row %}
|
|
|
|
{% block choice_row -%}
|
|
{% set force_error = true %}
|
|
{{- block('form_row') }}
|
|
{%- endblock choice_row %}
|
|
|
|
{% block date_row -%}
|
|
{% set force_error = true %}
|
|
{{- block('form_row') }}
|
|
{%- endblock date_row %}
|
|
|
|
{% block time_row -%}
|
|
{% set force_error = true %}
|
|
{{- block('form_row') }}
|
|
{%- endblock time_row %}
|
|
|
|
{% block datetime_row -%}
|
|
{% set force_error = true %}
|
|
{{- block('form_row') }}
|
|
{%- endblock datetime_row %}
|
|
|
|
{% block checkbox_row -%}
|
|
<div class="form-group{% if not valid %} has-error{% endif %}">
|
|
{{- form_widget(form) -}}
|
|
{{- form_errors(form) -}}
|
|
</div>
|
|
{%- endblock checkbox_row %}
|
|
|
|
{% block radio_row -%}
|
|
<div class="form-group{% if not valid %} has-error{% endif %}">
|
|
{{- form_widget(form) -}}
|
|
{{- form_errors(form) -}}
|
|
</div>
|
|
{%- endblock radio_row %}
|
|
|
|
{# Errors #}
|
|
|
|
{% block form_errors -%}
|
|
{% if errors|length > 0 -%}
|
|
{% if form.parent %}<span class="help-block">{% else %}<div class="alert alert-danger">{% endif %}
|
|
<ul class="list-unstyled">
|
|
{%- for error in errors -%}
|
|
<li><span class="glyphicon glyphicon-exclamation-sign"></span> {{ error.message }}</li>
|
|
{%- endfor -%}
|
|
</ul>
|
|
{% if form.parent %}</span>{% else %}</div>{% endif %}
|
|
{%- endif %}
|
|
{%- endblock form_errors %} |