{# ** * Copyright since 2007 PrestaShop SA and Contributors * PrestaShop is an International Registered Trademark & Property of PrestaShop SA * * NOTICE OF LICENSE * * This source file is subject to the Open Software License (OSL 3.0) * that is bundled with this package in the file LICENSE.md. * It is also available through the world-wide-web at this URL: * https://opensource.org/licenses/OSL-3.0 * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to license@prestashop.com so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to https://devdocs.prestashop.com/ for more information. * * @author PrestaShop SA and Contributors * @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) * #} {# Widgets #} {%- block form_widget -%} {% if compound %} {{- block('form_widget_compound') -}} {% else %} {{- block('form_widget_simple') -}} {% endif %} {%- endblock form_widget -%} {%- block form_widget_simple -%} {%- set type = type|default('text') -%} {{ include('@Twig/form_max_length.html.twig', {attr: attr}) }} {%- endblock form_widget_simple -%} {%- block form_widget_compound -%}
{%- if form.parent is empty -%} {{ form_errors(form) }} {%- endif -%} {{- block('form_rows') -}} {{- form_rest(form) -}}
{%- endblock form_widget_compound -%} {%- block collection_widget -%} {% if prototype is defined %} {%- set attr = attr|merge({'data-prototype': form_row(prototype)}) -%} {% endif %} {{- block('form_widget') -}} {%- endblock collection_widget -%} {%- block textarea_widget -%} {{ include('@Twig/form_max_length.html.twig', {attr: attr}) }} {%- endblock textarea_widget -%} {%- block choice_widget -%} {% if expanded %} {{- block('choice_widget_expanded') -}} {% else %} {{- block('choice_widget_collapsed') -}} {% endif %} {%- endblock choice_widget -%} {%- block choice_widget_expanded -%}
{%- for child in form %} {{- form_widget(child) -}} {{- form_label(child, null, {translation_domain: choice_translation_domain}) -}} {% endfor -%}
{%- endblock choice_widget_expanded -%} {%- block choice_widget_collapsed -%} {%- if required and placeholder is none and not placeholder_in_choices and not multiple -%} {% set required = false %} {%- endif -%} {%- endblock choice_widget_collapsed -%} {%- block choice_widget_options -%} {% for group_label, choice in options %} {%- if choice is iterable -%} {% set options = choice %} {{- block('choice_widget_options') -}} {%- else -%} {%- endif -%} {% endfor %} {%- endblock choice_widget_options -%} {%- block checkbox_widget -%} {% set switch = switch|default('') -%} {% endblock checkbox_widget -%} {%- block radio_widget -%} {% endblock radio_widget -%} {%- block datetime_widget -%} {% if widget == 'single_text' %} {{- block('form_widget_simple') -}} {%- else -%}
{{- form_errors(form.date) -}} {{- form_errors(form.time) -}} {{- form_widget(form.date) -}} {{- form_widget(form.time) -}}
{%- endif -%} {%- endblock datetime_widget -%} {%- block date_widget -%} {%- if widget == 'single_text' -%} {{ block('form_widget_simple') }} {%- else -%}
{{- date_pattern|replace({ '{{ year }}': form_widget(form.year), '{{ month }}': form_widget(form.month), '{{ day }}': form_widget(form.day), })|raw -}}
{%- endif -%} {%- endblock date_widget -%} {%- block time_widget -%} {%- if widget == 'single_text' -%} {{ block('form_widget_simple') }} {%- else -%} {%- set vars = widget == 'text' ? {attr: {size: 1}} : {} -%}
{{ form_widget(form.hour, vars) }}{% if with_minutes %}:{{ form_widget(form.minute, vars) }}{% endif %}{% if with_seconds %}:{{ form_widget(form.second, vars) }}{% endif %}
{%- endif -%} {%- endblock time_widget -%} {%- block number_widget -%} {# type="number" doesn't work with floats #} {%- set type = type|default('text') -%} {{ block('form_widget_simple') }} {%- endblock number_widget -%} {%- block integer_widget -%} {%- set type = type|default('number') -%} {{ block('form_widget_simple') }} {%- endblock integer_widget -%} {%- block money_widget -%} {{ money_pattern|replace({'{{ widget }}': block('form_widget_simple')})|raw }} {%- endblock money_widget -%} {%- block url_widget -%} {%- set type = type|default('url') -%} {{ block('form_widget_simple') }} {%- endblock url_widget -%} {%- block search_widget -%} {%- set type = type|default('search') -%} {{ block('form_widget_simple') }} {%- endblock search_widget -%} {%- block percent_widget -%} {%- set type = type|default('text') -%} {{ block('form_widget_simple') }} % {%- endblock percent_widget -%} {%- block password_widget -%} {%- set type = type|default('password') -%} {{ block('form_widget_simple') }} {%- endblock password_widget -%} {%- block hidden_widget -%} {%- set type = type|default('hidden') -%} {{ block('form_widget_simple') }} {%- endblock hidden_widget -%} {%- block email_widget -%} {%- set type = type|default('email') -%} {{ block('form_widget_simple') }} {%- endblock email_widget -%} {%- block button_widget -%} {%- if 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 -%} {%- endblock button_widget -%} {%- block submit_widget -%} {%- set type = type|default('submit') -%} {{ block('button_widget') }} {%- endblock submit_widget -%} {%- block reset_widget -%} {%- set type = type|default('reset') -%} {{ block('button_widget') }} {%- endblock reset_widget -%} {# Labels #} {%- block form_label -%} {% if label is not same as(false) -%} {% if not compound -%} {% set label_attr = label_attr|merge({for: id}) %} {%- endif %} {% if required -%} {% set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ' required')|trim}) %} {%- endif %} {% if 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 -%} {{ translation_domain is same as(false) ? label|raw : label|raw }} {% if label_attr['tooltip'] is defined %} {% set placement = label_attr['tooltip_placement'] is defined ? label_attr['tooltip_placement'] : 'top' %} {% endif %} {% if label_attr['popover'] is defined %} {% set placement = label_attr['popover_placement'] is defined ? label_attr['popover_placement'] : 'top' %} {{ include('@Common/HelpBox/helpbox.html.twig', {placement: placement, content: label_attr['popover']}) }} {% endif %} {%- endif -%} {%- endblock form_label -%} {%- block button_label -%}{%- endblock -%} {# Rows #} {%- block repeated_row -%} {# No need to render the errors here, as all errors are mapped to the first child (see RepeatedTypeValidatorExtension). #} {{- block('form_rows') -}} {%- endblock repeated_row -%} {%- block form_row -%}
{{- form_label(form) -}} {{- form_errors(form) -}} {{- form_widget(form) -}}
{%- endblock form_row -%} {%- block button_row -%}
{{- form_widget(form) -}}
{%- endblock button_row -%} {%- block hidden_row -%} {{ form_widget(form) }} {%- endblock hidden_row -%} {# Misc #} {%- block form -%} {{ form_start(form) }} {{- form_widget(form) -}} {{ form_end(form) }} {%- endblock form -%} {%- block form_start -%} {% set method = method|upper %} {%- if method in ['GET', 'POST'] -%} {% set form_method = method %} {%- else -%} {% set form_method = 'POST' %} {%- endif -%}
{%- if form_method != method -%} {%- endif -%} {%- endblock form_start -%} {%- block form_end -%} {%- if not render_rest is defined or render_rest -%} {{ form_rest(form) }} {%- endif -%}
{%- endblock form_end -%} {%- block form_enctype -%} {% if multipart %}enctype="multipart/form-data"{% endif %} {%- endblock form_enctype -%} {%- block form_errors -%} {%- if errors|length > 0 -%} {%- endif -%} {%- endblock form_errors -%} {%- block form_rest -%} {% import '@PrestaShop/Admin/macros.html.twig' as ps %} {% for child in form -%} {% if not child.rendered %} {{- ps.form_group_row(child, {attr: child.vars.attr}, { label: child.vars.label }) -}} {% endif %} {%- endfor %} {% endblock form_rest %} {# Support #} {%- block form_rows -%} {% for child in form %} {{- form_row(child) -}} {% endfor %} {%- endblock form_rows -%} {%- block widget_attributes -%} id="{{ id }}" name="{{ full_name }}" {%- if read_only|default(false) and attr.readonly is not defined %} readonly="readonly"{% endif -%} {%- if disabled %} disabled="disabled"{% endif -%} {%- if required %} required="required"{% endif -%} {%- for attrname, attrvalue in attr -%} {{- ' ' -}} {%- if attrname in ['placeholder', 'title'] -%} {{- attrname }}="{{ attrvalue }}" {%- elseif attrvalue is same as(true) -%} {{- attrname }}="{{ attrname }}" {%- elseif attrvalue is not same as(false) -%} {{- attrname }}="{{ attrvalue }}" {%- endif -%} {%- endfor -%} {%- endblock widget_attributes -%} {%- block widget_container_attributes -%} {%- if id is not empty %}id="{{ id }}"{% endif -%} {%- for attrname, attrvalue in attr -%} {{- ' ' -}} {%- if attrname in ['placeholder', 'title'] -%} {{- attrname }}="{{ attrvalue }}" {%- elseif attrvalue is same as(true) -%} {{- attrname }}="{{ attrname }}" {%- elseif attrvalue is not same as(false) -%} {{- attrname }}="{{ attrvalue }}" {%- endif -%} {%- endfor -%} {%- endblock widget_container_attributes -%} {%- block button_attributes -%} id="{{ id }}" name="{{ full_name }}"{% if disabled %} disabled="disabled"{% endif -%} {%- for attrname, attrvalue in attr -%} {{- ' ' -}} {%- if attrname in ['placeholder', 'title'] -%} {{- attrname }}="{{ attrvalue }}" {%- elseif attrvalue is same as(true) -%} {{- attrname }}="{{ attrname }}" {%- elseif attrvalue is not same as(false) -%} {{- attrname }}="{{ attrvalue }}" {%- endif -%} {%- endfor -%} {%- endblock button_attributes -%} {% block attributes -%} {%- for attrname, attrvalue in attr -%} {{- ' ' -}} {%- if attrname in ['placeholder', 'title'] -%} {{- attrname }}="{{ attrvalue }}" {%- elseif attrvalue is same as(true) -%} {{- attrname }}="{{ attrname }}" {%- elseif attrvalue is not same as(false) -%} {{- attrname }}="{{ attrvalue }}" {%- endif -%} {%- endfor -%} {%- endblock attributes -%}