From: Coleman Watts Date: Sun, 21 Nov 2021 17:33:06 +0000 (-0500) Subject: SearchKit - fix rendering default display embedded in an afform X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=c43fbc9b2cf2fd2c5c572a153fee7fb51d72fd0c;p=civicrm-core.git SearchKit - fix rendering default display embedded in an afform --- diff --git a/ext/search_kit/Civi/Search/AfformSearchMetadataInjector.php b/ext/search_kit/Civi/Search/AfformSearchMetadataInjector.php index f99bfdc29a..98244fe9d7 100644 --- a/ext/search_kit/Civi/Search/AfformSearchMetadataInjector.php +++ b/ext/search_kit/Civi/Search/AfformSearchMetadataInjector.php @@ -32,10 +32,20 @@ class AfformSearchMetadataInjector { foreach (pq(implode(',', $displayTags), $doc) as $component) { $searchName = pq($component)->attr('search-name'); $displayName = pq($component)->attr('display-name'); - if ($searchName && $displayName) { - $display = \Civi\Api4\SearchDisplay::get(FALSE) - ->addWhere('name', '=', $displayName) - ->addWhere('saved_search_id.name', '=', $searchName) + if ($searchName) { + // Fetch search display if name is provided + if (is_string($displayName) && strlen($displayName)) { + $searchDisplayGet = \Civi\Api4\SearchDisplay::get(FALSE) + ->addWhere('name', '=', $displayName) + ->addWhere('saved_search_id.name', '=', $searchName); + } + // Fall-back to the default display + else { + $displayName = NULL; + $searchDisplayGet = \Civi\Api4\SearchDisplay::getDefault(FALSE) + ->setSavedSearch($searchName); + } + $display = $searchDisplayGet ->addSelect('settings', 'saved_search_id.api_entity', 'saved_search_id.api_params') ->execute()->first(); if ($display) {