From 628d0fd01ff42248ec8a9ece56f0da76594b93c5 Mon Sep 17 00:00:00 2001 From: Stanislas Date: Fri, 18 Jul 2025 08:35:27 +0200 Subject: [PATCH 1/4] Fix(fields): fix undefined option --- templates/fields.html.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/fields.html.twig b/templates/fields.html.twig index 21102ac2..8c82c960 100644 --- a/templates/fields.html.twig +++ b/templates/fields.html.twig @@ -98,8 +98,8 @@ {% elseif type == 'datetime' %} {{ macros.datetimeField(name, value, label, field_options) }} + {% set dropdown_options = {'entity': item.getEntityID()} %} {% elseif type == 'dropdown' %} - {% set dropdown_options = {'entity': item.getEntityID()} %} {% if field['multiple'] %} {% set dropdown_options = dropdown_options|merge({'multiple': true}) %} {% endif %} From 434774bcc7ef336828555dee6eaf7b13aaf542ab Mon Sep 17 00:00:00 2001 From: Stanislas Date: Fri, 18 Jul 2025 08:36:59 +0200 Subject: [PATCH 2/4] adapt CHANGELOG --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2af809d6..d14341c7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ### Fixed - Fix condition check logic for dropdown field values - Fix validation for mandatory multiple dropdown +- Fix `twig` error about undefined `dropdown_options` ## [1.21.21] - 2025-03-21 From 29609b27db7c96ff4a99d7624635078f1b03ffef Mon Sep 17 00:00:00 2001 From: Rom1-B Date: Tue, 5 Aug 2025 15:12:44 +0200 Subject: [PATCH 3/4] add default --- templates/fields.html.twig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/fields.html.twig b/templates/fields.html.twig index 8c82c960..9109c166 100644 --- a/templates/fields.html.twig +++ b/templates/fields.html.twig @@ -112,7 +112,7 @@ {% set dropdown_itemtype = call("PluginFieldsDropdown::getClassname", [name]) %} {% endif %} {% set name_fk = call("getForeignKeyFieldForItemType", [dropdown_itemtype]) %} - {{ macros.dropdownField(dropdown_itemtype, name_fk, value, label, field_options|merge(dropdown_options)) }} + {{ macros.dropdownField(dropdown_itemtype, name_fk, value, label, field_options|merge(dropdown_options|default({}))) }} {% elseif type matches '/^dropdown-.+/i' %} {% set dropdown_options = {'condition': field['dropdown_condition'], 'entity': item.getEntityID()} %} @@ -124,7 +124,7 @@ {% if field['multiple'] %} {% set dropdown_options = dropdown_options|merge({'multiple': true}) %} {% endif %} - {{ macros.dropdownField(field['dropdown_class'], name, value, label, field_options|merge(dropdown_options)) }} + {{ macros.dropdownField(field['dropdown_class'], name, value, label, field_options|merge(dropdown_options|default({}))) }} {% elseif type == 'glpi_item' %} {% if not massiveaction %} From ce518dfe1d7966c5f84bfa415ed4a820bff0013f Mon Sep 17 00:00:00 2001 From: Rom1-B Date: Wed, 13 Aug 2025 10:43:15 +0200 Subject: [PATCH 4/4] fix --- templates/fields.html.twig | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/templates/fields.html.twig b/templates/fields.html.twig index 9109c166..fa568b2c 100644 --- a/templates/fields.html.twig +++ b/templates/fields.html.twig @@ -98,8 +98,8 @@ {% elseif type == 'datetime' %} {{ macros.datetimeField(name, value, label, field_options) }} - {% set dropdown_options = {'entity': item.getEntityID()} %} {% elseif type == 'dropdown' %} + {% set dropdown_options = {'entity': item.getEntityID()} %} {% if field['multiple'] %} {% set dropdown_options = dropdown_options|merge({'multiple': true}) %} {% endif %} @@ -115,7 +115,10 @@ {{ macros.dropdownField(dropdown_itemtype, name_fk, value, label, field_options|merge(dropdown_options|default({}))) }} {% elseif type matches '/^dropdown-.+/i' %} - {% set dropdown_options = {'condition': field['dropdown_condition'], 'entity': item.getEntityID()} %} + {% set dropdown_options = {'entity': item.getEntityID()} %} + {% if field['dropdown_condition'] is defined and field['dropdown_condition']|length %} + {% set dropdown_options = dropdown_options|merge({'condition': field['dropdown_condition']}) %} + {% endif %} {% if field['dropdown_class'] == 'User' %} {% set dropdown_options = dropdown_options|merge({'entity': -1, 'right': 'all'}) %} {% elseif field['dropdown_class'] == 'Entity' or item.isRecursive() %}