Files
wyczarujprezent.pl/modules/inpostizi/views/templates/admin/config/form_theme.html.twig
Jacek Pyziak 4066f6fa31 Add InPost Pay integration to admin templates
- Created a new template for the cart rule form with custom label, switch, and choice widgets.
- Implemented the InPost Pay block in the order details template for displaying delivery method, APM, and VAT invoice request.
- Added legacy support for the order details template to maintain compatibility with older PrestaShop versions.
2025-09-14 14:38:09 +02:00

488 lines
15 KiB
Twig

{% use 'bootstrap_4_layout.html.twig' %}
{% block collection_widget %}
{% set child = prototype %}
{% set attr = attr|merge({class: (attr.class|default('') ~ ' js-collection-form')|trim}) %}
<div {{ block('widget_container_attributes') }} data-prototype="{{ block('collection_entry_row')|e('html_attr') }}">
<div class="js-collection-entries-container mb-2">
{% for child in form %}
<div class="js-collection-entry">
{{ block('collection_entry_row') }}
</div>
{% endfor %}
</div>
{% if allow_add %}
<div class="d-flex">
<button type="button" class="js-add-collection-entry btn btn-outline-primary">
<i class="material-icons">add_circle</i>
{{ add_entry_label is defined ? add_entry_label : 'Add'|trans({}, 'Admin.Actions') }}
</button>
{% if max_count_message is defined %}
<div class="js-max-collection-count-message alert alert-warning d-none d-print-none mb-0 ml-3">
<div class="alert-text">
{{ max_count_message }}
</div>
</div>
{% endif %}
</div>
{% endif %}
</div>
{% endblock %}
{%- block collection_entry_row -%}
<div class="form-group p-3 border">
{{ form_label(child) }}
{{ form_widget(child, {'allow_delete': allow_delete}) }}
</div>
{%- endblock -%}
{%- block integer_widget -%}
{%- set type = type|default('number') -%}
<div class="input-group">
{{- block('form_widget_simple') -}}
{% if form.vars.unit is defined %}
<div class="input-group-append input-group-addon">
<span class="input-group-text">{{ form.vars.unit }}</span>
</div>
{% endif %}
</div>
{%- endblock integer_widget -%}
{% block form_label -%}
{% if help is defined and help is not null %}
<span class="d-flex align-items-baseline">
{% endif %}
{% if help is defined and help is not null and form.vars.compound %}
{% set label_attr = label_attr|merge({'class': (label_attr.class|default('') ~ ' w-auto')|trim}) %}
{% endif %}
{{- parent() -}}
{% if help is defined and help is not null %}
<span
class="help-box mr-0 ml-2"
data-toggle="popover"
data-html="true"
data-trigger="hover"
data-placement="top"
data-content="{{ help }}"
></span>
{% endif %}
{% if help is defined and help is not null %}
</span>
{% endif %}
{%- endblock form_label %}
{% block checkbox_widget -%}
<div class="custom-control custom-checkbox">
<input
type="checkbox"
class="custom-control-input"
{{ block('widget_attributes') }}
{% if value is defined %} value="{{ value }}"{% endif %}
{% if checked %} checked="checked"{% endif %}
>
<span class="custom-control-indicator"></span>
<label
class="custom-control-label"
for="{{ id }}"
>
{{ label }}
{% if help is defined and help is not null %}
<span
class="help-box ml-1"
data-toggle="popover"
data-html="true"
data-trigger="hover"
data-placement="top"
data-content="{{ help }}"
>
</span>
{% endif %}
</label>
</div>
{%- endblock checkbox_widget %}
{% block shipping_options_row %}
{% if label is not same as(false) %}
<label class="h3 mb-3" for="{{ form.vars.id }}">
{{ label }}
</label>
{% endif %}
{{ form_errors(form) }}
{{ form_rest(form) }}
{% endblock %}
{% block carrier_mappings_row %}
<div class="row mt-n2 align-items-end">
{% for child in form %}
<div class="col-xl-3 col-md-6 col-12 col-xs-12 mt-2">
{{ form_row(child) }}
</div>
{% endfor %}
</div>
{% endblock %}
{% block service_options_row %}
{% if label is not same as(false) %}
<label class="h4" for="{{ form.vars.id }}">
{{ label }}
</label>
{% endif %}
<div class="row mt-n2">
<div class="col-xl-4 col-md-6 col-12 col-xs-12 mt-2">
{{ form_row(form.additionalCost) }}
</div>
<div class="offset-xl-0 offset-6"></div>
{{ form_rest(form) }}
</div>
{% endblock %}
{% block time_of_week_range_row %}
{{ form_rest(form) }}
{% endblock %}
{% block time_of_week_row %}
<div class="col-xl-4 col-md-6 col-12 col-xs-12 mt-2">
<fieldset class="form-group">
{{ form_label(form, null, {'compound': false }) }}
<div class="row row-flex mx-n1">
<div class="col-xs-12 col col-sm px-1">
{{ form_widget(form.weekDay) }}
{{ form_errors(form.weekDay) }}
</div>
<div class="col-xs-12 col col-sm px-1">
{{ form_widget(form.time) }}
{{ form_errors(form.time) }}
</div>
{{ form_rest(form) }}
</div>
</fieldset>
</div>
{% endblock %}
{% block form_help %}{% endblock %}
{% block inpostizi_translatable_widget -%}
{% set formClass = form.vars.attr.class|default('') ~ ' input-group locale-input-group js-locale-input-group d-flex'|trim %}
<div class="{{ formClass }}">
{% for translateField in form %}
{% set classes = translateField.vars.attr.class|default('') ~ ' js-locale-input'%}
{% set classes = classes ~ ' js-locale-' ~ translateField.vars.label %}
{% if default_locale.id_lang != translateField.vars.name %}
{% set classes = classes ~ ' d-none' %}
{% endif %}
<div class="{{ classes }}" style="flex-grow: 1;">
{{ form_widget(translateField, {'attr': {'class': translateField.vars.attr.class|default('') ~ ' w-100'}}) }}
</div>
{% endfor %}
{% if not hide_locales %}
<div class="dropdown ml-2">
<button class="btn btn-outline-secondary dropdown-toggle js-locale-btn"
type="button"
data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"
id="{{ form.vars.id }}_dropdown"
>
{{ form.vars.default_locale.iso_code }}
</button>
<div class="dropdown-menu dropdown-menu-right locale-dropdown-menu" aria-labelledby="{{ form.vars.id }}_dropdown">
{% for locale in locales %}
<span class="dropdown-item js-locale-item" data-locale="{{ locale.iso_code }}">{{ locale.name }}</span>
{% endfor %}
</div>
</div>
{% endif %}
</div>
{%- endblock inpostizi_translatable_widget %}
{% block inpostizi_switch_widget %}
<span class="ps-switch">
{% for choice in choices %}
{% set inputId = id ~'_' ~ choice.value %}
<input id="{{inputId}}"
{{ block('attributes') }}
name="{{ full_name }}"
value="{{ choice.value }}"
{% if choice is selectedchoice(value) %}checked=""{% endif %}
{% if disabled %}disabled=""{% endif %}
type="radio"
aria-label="{{ choice.label|trans({}, choice_translation_domain) }}"
>
<label for="{{inputId}}">{{ choice.label|trans({}, choice_translation_domain) }}</label>
{% endfor %}
<span class="slide-button"></span>
</span>
{% endblock inpostizi_switch_widget %}
{% block inpostizi_category_choice_tree_widget %}
<div class="inpostizi-material-choice-tree-container js-choice-tree-container{% if required %} required{% endif %}" id="{{ form.vars.id }}">
<div class="choice-tree-actions">
<span class="form-control-label js-toggle-choice-tree-action"
data-expanded-text="{{ 'Expand'|trans({}, 'Admin.Actions') }}"
data-expanded-icon="expand_more"
data-collapsed-text="{{ 'Collapse'|trans({}, 'Admin.Actions') }}"
data-collapsed-icon="expand_less"
data-action="expand"
>
<i class="material-icons">expand_more</i>
<span class="js-toggle-text">{{ 'Expand'|trans({}, 'Admin.Actions') }}</span>
</span>
</div>
<ul class="choice-tree">
{% for choice in choices_tree %}
{{ block('inpostizi_category_choice_tree_item_widget') }}
{% endfor %}
</ul>
</div>
{% endblock inpostizi_category_choice_tree_widget %}
{% block inpostizi_category_choice_tree_item_widget %}
{% set has_children = choice[choice_children] is defined %}
<li class="{% if choice.has_selected_children %}expanded{% elseif has_children %}collapsed{% endif %}">
{% if multiple %}
{{ block('inpostizi_category_choice_tree_item_checkbox_widget') }}
{% else %}
{{ block('inpostizi_category_choice_tree_item_radio_widget') }}
{% endif %}
{% if has_children %}
<ul>
{% for item in choice[choice_children] %}
{% set choice = item %}
{{ block('inpostizi_category_choice_tree_item_widget') }}
{% endfor %}
</ul>
{% endif %}
</li>
{% endblock inpostizi_category_choice_tree_item_widget %}
{% block inpostizi_category_choice_tree_item_checkbox_widget %}
<div class="checkbox js-input-wrapper">
<div class="md-checkbox md-checkbox-inline">
<label>
<input type="checkbox"
{% if choice[choice_value] is not null %}
name="{{ form.vars.full_name }}[]"
value="{{ choice[choice_value] }}"
{% if choice[choice_value] in selected_values %}checked{% endif %}
{% endif %}
{% if disabled or choice[choice_value] in disabled_values %}disabled{% endif %}
>
<i class="md-checkbox-control"></i>
{{ choice[choice_label] }}
</label>
</div>
</div>
{% endblock inpostizi_category_choice_tree_item_checkbox_widget %}
{% block inpostizi_category_choice_tree_item_radio_widget %}
<div class="radio js-input-wrapper form-check form-check-radio">
<label class="form-check-label">
<input type="radio"
name="{{ form.vars.full_name }}"
value="{{ choice[choice_value] }}"
{% if choice[choice_value] in selected_values %}checked{% endif %}
{% if disabled or choice[choice_value] in disabled_values %}disabled{% endif %}
{% if required %}required{% endif %}
>
<i class="form-check-round"></i>
{{ choice[choice_label] }}
</label>
</div>
{% endblock inpostizi_category_choice_tree_item_radio_widget %}
{% block widget_display_configuration_row %}
<div class="card-body panel-body form-wrapper px-sm-4 px-3 pt-4 pb-3">
{% include '@Modules/inpostizi/views/templates/admin/config/gui/form.html.twig' with {
form: form,
} %}
</div>
{% endblock widget_display_configuration_row %}
{% block product_page_display_configuration_row %}
{{ form_rest(form) }}
{% endblock product_page_display_configuration_row %}
{% block product_restrictions_row %}
<div class="card-body panel-body form-wrapper px-sm-4 px-3 pt-4 pb-3">
<p class="h3 mb-3">
{{ form_label(form, null, {
'label_attr': {
'class': 'p-0'
}
}) }}
</p>
<div class="row row-flex mt-n3">
<div class="col-lg-5 col-md-6 col-12 col-xs-12 mt-3">
{{ form_row((form.blockOrder)) }}
{{ form_row(form.productTypes) }}
{{ form_row(form.manufacturerIds) }}
{{ form_row(form.attributeGroupIds) }}
{{ form_row(form.featureIds) }}
</div>
<div class="col-lg-7 col-md-6 col-12 col-xs-12 mt-3 mr-auto">
{{ form_row(form.categoryIds) }}
</div>
</div>
{{ form_rest(form) }}
</div>
{% endblock product_restrictions_row %}
{% block choice_widget %}
{% if expanded and multiple %}
<div class="dropdown" data-prevent-close-on-inside-click="true">
<button
class="btn btn-outline-secondary dropdown-toggle"
type="button"
id="{{ form.vars.id }}_dropdown"
data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"
>
{{ 'Select options from list'|legacy_trans }}
</button>
<div class="dropdown-menu inpostizi-checkboxes-options" aria-labelledby="{{ form.vars.id }}_dropdown">
{% set allChecked = true %}
{% for child in form.children %}
{% if child.vars.checked is defined and child.vars.checked is not null %}
{% set allChecked = allChecked and child.vars.checked %}
{% endif %}
{% endfor %}
<div class="custom-control custom-checkbox border-0">
<input type="checkbox"
class="custom-control-input js-inpostizi-accept-all-options-checkbox"
id="{{ form.vars.id }}_all"
name="{{ form.vars.id }}_all"
data-target="{{ form.vars.full_name }}[]"
value="1"
{% if allChecked %}checked{% endif %}
>
<span class="custom-control-indicator"></span>
<label class="custom-control-label" for="{{ form.vars.id }}_all">
<strong>
{{ 'Select all options'|legacy_trans }}
</strong>
</label>
</div>
{{ parent() }}
</div>
</div>
{% else %}
{{ parent() }}
{% endif %}
{% endblock choice_widget %}
{% block consent_widget %}
<div class="row d-flex mb-3">
<div class="col-xs-8 col-8 mt-auto">
<div class="d-flex">
{{ form_label(form.descriptions, null, {
'label_attr': {
'class': 'p-0 mb-2 d-inline'
}
}) }}
</div>
{{ form_widget(form.descriptions) }}
</div>
<div class="col-xs-3 col-3 mt-auto">
{{ form_label(form.requirementType, null, {
'label_attr': {
'class': 'p-0 mb-2'
}
}) }}
{{ form_widget(form.requirementType) }}
</div>
{% if allow_delete is defined and allow_delete %}
<div class="col-xs-1 col-1 mt-auto text-right">
<button type="button" class="js-remove-collection-entry btn btn-outline-secondary">
<i class="material-icons">remove_circle</i>
{{ 'Remove'|trans({}, 'Admin.Actions') }}
</button>
</div>
{% endif %}
</div>
{{ form_label(form.additionalLinks, null, {
'label_attr': {
'class': 'h4'
}
}) }}
{{ form_row(form.link) }}
{{ form_widget(form.additionalLinks) }}
{{ form_rest(form) }}
{% endblock %}
{% block consent_link_widget %}
<div class="row d-flex mb-3">
<div class="col-xs-3 col-3 mt-auto">
{{ form_label(form.id, null, {
'label_attr': {
'class': 'p-0 mb-2'
}
}) }}
{{ form_widget(form.id) }}
</div>
<div class="col-xs-3 col-3 mt-auto">
{{ form_label(form.cmsPageId, null, {
'label_attr': {
'class': 'p-0 mb-2'
}
}) }}
{{ form_widget(form.cmsPageId) }}
</div>
<div class="col-xs-5 col-5 mt-auto">
<div class="d-flex">
{{ form_label(form.labels, null, {
'label_attr': {
'class': 'p-0 mb-2 d-inline'
}
}) }}
</div>
{{ form_widget(form.labels) }}
</div>
{% if allow_delete is defined and allow_delete %}
<div class="col-xs-1 col-1 mt-auto text-right">
<button type="button" class="js-remove-collection-entry btn btn-outline-secondary">
<i class="material-icons">remove_circle</i>
{{ 'Remove'|trans({}, 'Admin.Actions') }}
</button>
</div>
{% endif %}
{{ form_rest(form) }}
</div>
{% endblock %}