From b65536561feefcd56354b9af9e11d698777e0c7f Mon Sep 17 00:00:00 2001 From: Coleman Watts Date: Mon, 21 Mar 2022 19:28:02 -0400 Subject: [PATCH] Fix deleting afforms when deleting saved search A typo in the code was preventing afforms from being deleted with a corresponding saved search, and may have led to afforms being deleted incorrectly! --- ext/afform/core/afform.php | 2 +- .../tests/phpunit/api/v4/SearchDisplay/SearchAfformTest.php | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ext/afform/core/afform.php b/ext/afform/core/afform.php index c0c8f0fc23..aa7834d2ec 100644 --- a/ext/afform/core/afform.php +++ b/ext/afform/core/afform.php @@ -509,7 +509,7 @@ function afform_civicrm_pre($op, $entity, $id, &$params) { ->execute(); } // When deleting a savedSearch, delete any Afforms which use the default display - if ($entity === 'SearchDisplay' && $op === 'delete') { + elseif ($entity === 'SavedSearch' && $op === 'delete') { $search = \Civi\Api4\SavedSearch::get(FALSE) ->addSelect('name') ->addWhere('id', '=', $id) diff --git a/ext/search_kit/tests/phpunit/api/v4/SearchDisplay/SearchAfformTest.php b/ext/search_kit/tests/phpunit/api/v4/SearchDisplay/SearchAfformTest.php index 91a7ecf8a2..62ced47178 100644 --- a/ext/search_kit/tests/phpunit/api/v4/SearchDisplay/SearchAfformTest.php +++ b/ext/search_kit/tests/phpunit/api/v4/SearchDisplay/SearchAfformTest.php @@ -239,6 +239,12 @@ class SearchAfformTest extends \PHPUnit\Framework\TestCase implements HeadlessIn $this->assertCount(1, $refs); $this->assertEquals('Afform', $refs[0]['type']); + SearchDisplay::delete(FALSE) + ->addWhere('name', '=', 'TestDisplayToDelete') + ->execute(); + + $this->assertCount(1, Afform::get(FALSE)->addWhere('name', 'CONTAINS', 'TestAfformToDelete')->execute()); + SavedSearch::delete(FALSE) ->addWhere('name', '=', 'TestSearchToDelete') ->execute(); -- 2.25.1