From 5c86fdb189024daf77abcaafbc4b43f74377373d Mon Sep 17 00:00:00 2001 From: owenbush <owenbush@2765259.no-reply.drupal.org> Date: Fri, 18 Oct 2019 14:46:01 -0600 Subject: [PATCH] Issue #3085952 by owenbush, achoura: Prevent circular dependency when selecting a destination field --- src/Form/FieldInheritanceForm.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Form/FieldInheritanceForm.php b/src/Form/FieldInheritanceForm.php index b1509bb2..b5d7fa16 100644 --- a/src/Form/FieldInheritanceForm.php +++ b/src/Form/FieldInheritanceForm.php @@ -129,6 +129,12 @@ class FieldInheritanceForm extends EntityForm { $instance_fields = array_keys($this->entityFieldManager->getFieldDefinitions('eventinstance', 'eventinstance')); $instance_fields = array_combine($instance_fields, $instance_fields); + // You should never be able to use the inherited field as part of an + // inheritance as that creates an infinite loop. + if (!empty($field_inheritance->id()) && !empty($instance_fields[$field_inheritance->id()])) { + unset($instance_fields[$field_inheritance->id()]); + } + $form['entityField'] = [ '#type' => 'select', '#title' => $this->t('Entity/Instance Field'), -- GitLab