From f004c826f50cac33dd54f40a3d4e5f7fc2d869fe Mon Sep 17 00:00:00 2001 From: Coleman Watts <coleman@civicrm.org> Date: Tue, 12 Oct 2021 21:51:59 -0400 Subject: [PATCH] REF - Fix loop in APIv4 Entity.get to only load ad-hoc entities once --- Civi/Api4/Action/Entity/Get.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Civi/Api4/Action/Entity/Get.php b/Civi/Api4/Action/Entity/Get.php index 6f939e84d42..3e98e7f348a 100644 --- a/Civi/Api4/Action/Entity/Get.php +++ b/Civi/Api4/Action/Entity/Get.php @@ -40,15 +40,15 @@ class Get extends \Civi\Api4\Generic\BasicGetAction { $entities = $cache->get('api4.entities.info', []); if (!$entities) { + // Load entities declared in API files foreach ($this->getAllApiClasses() as $className) { - // Load entities declared in API files $this->loadEntity($className, $entities); - // Load entities based on custom data - $entities = array_merge($entities, $this->getCustomEntities()); - // Allow extensions to modify the list of entities - $event = GenericHookEvent::create(['entities' => &$entities]); - \Civi::dispatcher()->dispatch('civi.api4.entityTypes', $event); } + // Load entities based on custom data + $entities = array_merge($entities, $this->getCustomEntities()); + // Allow extensions to modify the list of entities + $event = GenericHookEvent::create(['entities' => &$entities]); + \Civi::dispatcher()->dispatch('civi.api4.entityTypes', $event); ksort($entities); $cache->set('api4.entities.info', $entities); } -- GitLab