{% 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 money_widget -%} {% set prepend = not (money_pattern starts with '{{') %} {% set append = not (money_pattern ends with '}}') %} {% if prepend or append %}
{% if prepend %} {{ money_pattern|form_encode_currency }} {% endif %} {{- block('form_widget_simple') -}} {% if append %} {{ money_pattern|form_encode_currency }} {% endif %}
{% else %} {{- block('form_widget_simple') -}} {% endif %} {%- endblock money_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 -%}
{{- form_label(form, null, { widget: parent() }) -}}
{%- 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 -%}
{{- form_label(form, null, { widget: parent() }) -}}
{%- endif -%} {%- endblock radio_widget %} {% block choice_widget_collapsed -%} {%- set attr = attr|merge({class: (attr.class|default('') ~ ' form-control')|trim}) -%} {{- parent() -}} {%- endblock choice_widget_collapsed %} {# 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 -%} {{- widget|raw }} {{ label is not same as(false) ? (translation_domain is same as(false) ? (label_html is same as(false) ? label : label|raw) : (label_html is same as(false) ? label|trans(label_translation_parameters, translation_domain) : label|trans(label_translation_parameters, translation_domain)|raw)) -}} {%- endif -%} {%- endblock checkbox_radio_label %} {# Rows #} {% block form_row -%} {%- set widget_attr = {} -%} {%- if help is not empty -%} {%- set widget_attr = {attr: {'aria-describedby': id ~"_help"}} -%} {%- endif -%} {{- form_label(form) }} {# -#} {{ form_widget(form, widget_attr) }} {# -#} {{- form_help(form) -}} {{ form_errors(form) }} {# -#} {# -#} {%- endblock form_row %} {% block button_row -%} {{- form_widget(form) -}} {%- 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 -%} {{- form_widget(form) -}} {{- form_help(form) -}} {{- form_errors(form) -}} {%- endblock checkbox_row %} {% block radio_row -%} {{- form_widget(form) -}} {{- form_help(form) -}} {{- form_errors(form) -}} {%- endblock radio_row %} {# Errors #} {% block form_errors -%} {% if errors|length > 0 -%} {% if form is not rootform %}{% else %}
{% endif %}
    {%- for error in errors -%}
  • {{ error.message }}
  • {%- endfor -%}
{% if form is not rootform %}{% else %}
{% endif %} {%- endif %} {%- endblock form_errors %} {# Help #} {% block form_help -%} {%- if help is not empty -%} {%- set help_attr = help_attr|merge({class: (help_attr.class|default('') ~ ' help-block')|trim}) -%} {%- if translation_domain is same as(false) -%} {%- if help_html is same as(false) -%} {{- help -}} {%- else -%} {{- help|raw -}} {%- endif -%} {%- else -%} {%- if help_html is same as(false) -%} {{- help|trans(help_translation_parameters, translation_domain) -}} {%- else -%} {{- help|trans(help_translation_parameters, translation_domain)|raw -}} {%- endif -%} {%- endif -%} {%- endif -%} {%- endblock form_help %}