From 026729a70f1ed4811bdf0e4e12eb56a58d920ab6 Mon Sep 17 00:00:00 2001 From: Jonathan Sacksick <jonathan.sacksick@gmail.com> Date: Fri, 4 Jul 2025 11:57:09 +0300 Subject: [PATCH] Issue #3478603 by sidgrafix, omarlopesino, ushma, jsacksick: Commerce promotion warning is preventing editing views field configuration for bundle fields. --- modules/price/commerce_price.module | 4 ++-- modules/promotion/commerce_promotion.module | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/price/commerce_price.module b/modules/price/commerce_price.module index 3090cc0bb..697cde07e 100644 --- a/modules/price/commerce_price.module +++ b/modules/price/commerce_price.module @@ -55,9 +55,9 @@ function commerce_price_configurable_language_insert(ConfigurableLanguage $langu function commerce_price_form_views_ui_config_item_form_alter(&$form, FormStateInterface $form_state) { /** @var \Drupal\views\Plugin\views\field\EntityField $handler */ $handler = $form_state->get('handler'); - if ($handler instanceof EntityField && !empty($handler->definition['entity_type']) && !empty($handler->options['field_name'])) { + if ($handler instanceof EntityField && !empty($handler->definition['entity_type'])) { $entity_type_id = $handler->definition['entity_type']; - $field_name = $handler->definition['field_name']; + $field_name = $handler->definition['field_name'] ?? NULL; /** @var \Drupal\Core\Entity\EntityFieldManagerInterface $field_manager */ $field_manager = \Drupal::service('entity_field.manager'); $field_definitions = $field_manager->getFieldStorageDefinitions($entity_type_id); diff --git a/modules/promotion/commerce_promotion.module b/modules/promotion/commerce_promotion.module index 7125cb4f3..dd1a2396f 100644 --- a/modules/promotion/commerce_promotion.module +++ b/modules/promotion/commerce_promotion.module @@ -99,12 +99,12 @@ function commerce_promotion_form_views_ui_config_item_form_alter(&$form, FormSta $handler = $form_state->get('handler'); if ($handler instanceof EntityField && !empty($handler->definition['entity_type'])) { $entity_type_id = $handler->definition['entity_type']; - $field_name = $handler->definition['field_name']; + $field_name = $handler->definition['field_name'] ?? NULL; /** @var \Drupal\Core\Entity\EntityFieldManagerInterface $field_manager */ $field_manager = \Drupal::service('entity_field.manager'); $field_definitions = $field_manager->getFieldStorageDefinitions($entity_type_id); - $field_definition = $field_definitions[$field_name]; - if ($entity_type_id == 'commerce_promotion' && $field_definition->getType() == 'datetime') { + $field_definition = $field_definitions[$field_name] ?? NULL; + if ($entity_type_id == 'commerce_promotion' && $field_definition?->getType() == 'datetime') { unset($form['options']['type']['#options']['datetime_custom']); unset($form['options']['type']['#options']['datetime_default']); unset($form['options']['type']['#options']['datetime_plain']); -- GitLab