{# # --------------------------------------------------------------------- # # GLPI - Gestionnaire Libre de Parc Informatique # # http://glpi-project.org # # @copyright 2015-2025 Teclib' and contributors. # @licence https://www.gnu.org/licenses/gpl-3.0.html # # --------------------------------------------------------------------- # # LICENSE # # This file is part of GLPI. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # # --------------------------------------------------------------------- #} {# @var Glpi\Form\Destination\AbstractCommonITILFormDestination item #} {# @var Glpi\Form\Form\ form #} {# @var array config #} {# @var bool can_update #} {% macro field_config_section(item, destination, field, form, config, show_label = true, extra_options = {}) %} {% import 'components/form/fields_macros.html.twig' as fields %} {% set config_field = field.getConfig(form, config) %} {% if field.supportAutoConfiguration() %} {% set use_auto_configuration = field.isAutoConfigurated(config) %} {% set auto_configuration_checkbox %}
?
{% endset %} {% set extra_options = extra_options|merge({ 'disabled': use_auto_configuration, }) %} {% endif %} {% set field_container_rand = random() %} {% set rand = random() %}
{% if config_field is instanceof('Glpi\\Form\\Destination\\ConfigFieldWithStrategiesInterface') %} {% set label_for = call('Html::cleanId', [ 'dropdown_' ~ '%s[%s][]'|format( item.formatConfigInputName(field.getKey()), config_field.getStrategiesInputName() ) ~ rand ]) %} {% elseif config_field is instanceof('Glpi\\Form\\Destination\\CommonITILField\\SimpleValueConfig') %} {% set label_for = '%s[%s]_%s'|format( item.formatConfigInputName(field.getKey()), constant('Glpi\\Form\\Destination\\CommonITILField\\SimpleValueConfig::VALUE'), rand ) %} {% endif %}
{% if show_label %} {% endif %} {% if field.supportAutoConfiguration() %} {{ auto_configuration_checkbox }} {% endif %}
{% if config_field is instanceof('Glpi\\Form\\Destination\\ConfigFieldWithStrategiesInterface') %} {% for index, strategy in config_field.getStrategies() %} {# Update the random value for each iteration except the first one, to avoid conflicts with labels #} {% if not loop.first %} {% set rand = random() %} {% endif %}
{{ fields.dropdownArrayField( '%s[%s][]'|format( item.formatConfigInputName(field.getKey()), config_field.getStrategiesInputName() ), strategy.value, field.getStrategiesForDropdown(), '', { is_horizontal: false, field_class: '', no_label: true, mb: '', rand: rand, aria_label: __('Select strategy...'), add_data_attributes: { 'glpi-itildestination-strategy-select': '' }, }|merge(extra_options) ) }} {{ field.renderConfigForm( form, destination, config_field, item.formatConfigInputName(field.getKey()), { 'is_horizontal': false, 'rand': rand, }|merge(extra_options), index )|raw }}
{% if field.canHaveMultipleStrategies() %} {% endif %}
{% endfor %} {% if field.canHaveMultipleStrategies() %} {% endif %} {% else %} {{ field.renderConfigForm( form, destination, config_field, item.formatConfigInputName(field.getKey()), { 'is_horizontal': true, 'rand': rand, }|merge(extra_options) )|raw }} {% if field.canHaveMultipleStrategies() %} {% endif %} {% endif %}
{% if field.canHaveMultipleStrategies() %} {% endif %}
{% endmacro %}
{% set field = item.getConfigurableFieldByKey('glpi-form-destination-commonitilfield-titlefield') %} {{ _self.field_config_section(item, destination, field, form, config, false) }}
{% set field = item.getConfigurableFieldByKey('glpi-form-destination-commonitilfield-contentfield') %} {{ _self.field_config_section(item, destination, field, form, config, false) }}
{% set field = item.getConfigurableFieldByKey('glpi-form-destination-commonitilfield-itilfollowupfield') %} {{ _self.field_config_section(item, destination, field, form, config, false) }}
{% set field = item.getConfigurableFieldByKey('glpi-form-destination-commonitilfield-itiltaskfield') %} {{ _self.field_config_section(item, destination, field, form, config, false) }}
{% set field = item.getConfigurableFieldByKey('glpi-form-destination-commonitilfield-validationfield') %} {{ _self.field_config_section(item, destination, field, form, config, false) }}