diff --git a/Civi/Api4/Service/Spec/Provider/EntityTagFilterSpecProvider.php b/Civi/Api4/Service/Spec/Provider/EntityTagFilterSpecProvider.php index ac900b7299a5..6e733d36c50a 100644 --- a/Civi/Api4/Service/Spec/Provider/EntityTagFilterSpecProvider.php +++ b/Civi/Api4/Service/Spec/Provider/EntityTagFilterSpecProvider.php @@ -53,6 +53,9 @@ public function applies($entity, $action) { if ($action !== 'get') { return FALSE; } + if (CoreUtil::isContact($entity)) { + return TRUE; + } $usedFor = \CRM_Core_OptionGroup::values('tag_used_for', FALSE, FALSE, FALSE, NULL, 'name'); return in_array($entity, $usedFor, TRUE); } diff --git a/tests/phpunit/api/v4/Entity/TagTest.php b/tests/phpunit/api/v4/Entity/TagTest.php index 023d9c332257..379789caf998 100644 --- a/tests/phpunit/api/v4/Entity/TagTest.php +++ b/tests/phpunit/api/v4/Entity/TagTest.php @@ -21,6 +21,7 @@ use Civi\Api4\Contact; use api\v4\Api4TestBase; use Civi\Api4\EntityTag; +use Civi\Api4\Individual; use Civi\Api4\Tag; use Civi\Test\TransactionalInterface; @@ -79,7 +80,7 @@ public function testTagFilter(): void { $this->assertCount(1, $shouldReturnContact1); $this->assertEquals($contact1['id'], $shouldReturnContact1->first()['id']); - $shouldReturnContact2 = Contact::get(FALSE) + $shouldReturnContact2 = Individual::get(FALSE) ->addSelect('id') ->addWhere('tags', 'IN', [$setChild['id']]) ->execute();