From e41f49470d13ec96cd1b87c3484e3e497c91977f Mon Sep 17 00:00:00 2001
From: Akanksha <akankshasingh.viet@gmail.com>
Date: Thu, 9 May 2024 18:02:43 -0300
Subject: [PATCH] Check that the field exists on node

---
 src/Plugin/Condition/NodeHasParent.php | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/Plugin/Condition/NodeHasParent.php b/src/Plugin/Condition/NodeHasParent.php
index f9ef0cbf..813fd00b 100644
--- a/src/Plugin/Condition/NodeHasParent.php
+++ b/src/Plugin/Condition/NodeHasParent.php
@@ -137,9 +137,11 @@ class NodeHasParent extends ConditionPluginBase implements ContainerFactoryPlugi
    *   TRUE if entity references the specified parent.
    */
   protected function evaluateEntity(EntityInterface $entity) {
+    $parent_reference_field = $this->configuration['parent_reference_field'];
     foreach ($entity->referencedEntities() as $referenced_entity) {
-      if ($entity->getEntityTypeID() == 'node' && $referenced_entity->getEntityTypeId() == 'node') {
-        $parent_reference_field = $this->configuration['parent_reference_field'];
+      // Check whether the entity and the referenced entity are nodes.
+      // Also make sure that the field exists.
+      if ($entity->getEntityTypeID() == 'node' && $entity->hasField($parent_reference_field) && $referenced_entity->getEntityTypeId() == 'node') {
         $field = $entity->get($parent_reference_field);
         if (!$field->isEmpty()) {
           $nids = $field->getValue();