diff --git a/src/AiReferenceGenerator.php b/src/AiReferenceGenerator.php index 647d229106f2c648ade176befe085ad0e344fd7f..f84bdeac5d31a67af98611d83cde8b0db6d919d0 100644 --- a/src/AiReferenceGenerator.php +++ b/src/AiReferenceGenerator.php @@ -272,9 +272,15 @@ class AiReferenceGenerator { foreach ($options as $option_group) { $merged_options += $option_group; } - return $merged_options; + $options = $merged_options; } } + + // Do not suggest a reference to the current node. + if (isset($options[$node->id()])) { + unset($options[$node->id()]); + } + return $options; } return []; diff --git a/tests/src/Functional/AiAutoReferenceUiTest.php b/tests/src/Functional/AiAutoReferenceUiTest.php index 4079b497456fdbba0df1217d5fc397c39947f538..11c81297aa21fadfd15dc0cb5a249c1ec07284d3 100644 --- a/tests/src/Functional/AiAutoReferenceUiTest.php +++ b/tests/src/Functional/AiAutoReferenceUiTest.php @@ -318,19 +318,20 @@ class AiAutoReferenceUiTest extends BrowserTestBase { // Field with a single target bundle. $allowed_values = $generator->getFieldAllowedValues($article, 'field_related_food'); $this->assertSame([ + // These are all articles. 1 => 'Chocolate Cake', 3 => 'Vanilla Ice Cream', 4 => 'Tomato Soup', - 6 => 'All about chocolate cakes', ], $allowed_values); // Field with multiple target bundles. $allowed_values = $generator->getFieldAllowedValues($article, 'field_related_multiple'); $this->assertSame([ + // These are articles. 1 => 'Chocolate Cake', 3 => 'Vanilla Ice Cream', 4 => 'Tomato Soup', - 6 => 'All about chocolate cakes', + // This one is a recipe. 5 => 'Chocolate Cake Recipe', ], $allowed_values); }