From 181ffae248d71881caf21cab9cda7a88f59b9954 Mon Sep 17 00:00:00 2001 From: colemanw Date: Mon, 4 Sep 2023 12:41:39 -0400 Subject: [PATCH] Afform - Make Afform Core and Authx extensions required This enables Afform by default (and its dependency Authx) on all CiviCRM installs; they cannot be disabled. --- CRM/Upgrade/Incremental/php/FiveSixtySeven.php | 2 ++ bin/regen.sh | 2 +- ext/afform/core/Civi/Api4/Afform.php | 1 + ext/afform/core/Civi/Api4/AfformBehavior.php | 1 + ext/afform/core/Civi/Api4/AfformSubmission.php | 1 + ext/afform/core/info.xml | 5 ++++- ext/authx/info.xml | 3 +++ setup/plugins/init/DefaultExtensions.civi-setup.php | 2 ++ .../CRM/Contribute/Import/Parser/ContributionTest.php | 2 +- tests/phpunit/CRM/Dedupe/MergerTest.php | 3 +++ 10 files changed, 19 insertions(+), 3 deletions(-) diff --git a/CRM/Upgrade/Incremental/php/FiveSixtySeven.php b/CRM/Upgrade/Incremental/php/FiveSixtySeven.php index ba97ab3c4c..17bdac0316 100644 --- a/CRM/Upgrade/Incremental/php/FiveSixtySeven.php +++ b/CRM/Upgrade/Incremental/php/FiveSixtySeven.php @@ -29,6 +29,8 @@ class CRM_Upgrade_Incremental_php_FiveSixtySeven extends CRM_Upgrade_Incremental */ public function upgrade_5_67_alpha1($rev): void { $this->addTask(ts('Upgrade DB to %1: SQL', [1 => $rev]), 'runSql', $rev); + $this->addExtensionTask('Enable Authx extension', ['authx'], 1101); + $this->addExtensionTask('Enable Afform extension', ['org.civicrm.afform'], 1102); } } diff --git a/bin/regen.sh b/bin/regen.sh index 1542d2a146..cb7203ef7f 100755 --- a/bin/regen.sh +++ b/bin/regen.sh @@ -47,7 +47,7 @@ php GenerateData.php ## Prune local data $MYSQLCMD -e "DROP TABLE IF EXISTS civicrm_install_canary; DELETE FROM civicrm_cache; DELETE FROM civicrm_setting;" -$MYSQLCMD -e "DELETE FROM civicrm_extension WHERE full_name NOT IN ('sequentialcreditnotes', 'eventcart', 'greenwich', 'org.civicrm.search_kit', 'org.civicrm.flexmailer', 'financialacls', 'contributioncancelactions', 'recaptcha', 'ckeditor4', 'legacycustomsearches', 'civiimport') and full_name NOT LIKE 'civi_%';" +$MYSQLCMD -e "DELETE FROM civicrm_extension WHERE full_name NOT IN ('sequentialcreditnotes', 'eventcart', 'greenwich', 'org.civicrm.search_kit', 'org.civicrm.afform', 'authx', 'org.civicrm.flexmailer', 'financialacls', 'contributioncancelactions', 'recaptcha', 'ckeditor4', 'legacycustomsearches', 'civiimport') and full_name NOT LIKE 'civi_%';" TABLENAMES=$( echo "show tables like 'civicrm_%'" | $MYSQLCMD | grep ^civicrm_ | xargs ) cd $CIVISOURCEDIR/sql diff --git a/ext/afform/core/Civi/Api4/Afform.php b/ext/afform/core/Civi/Api4/Afform.php index f21cb4b5e6..353a5b5969 100644 --- a/ext/afform/core/Civi/Api4/Afform.php +++ b/ext/afform/core/Civi/Api4/Afform.php @@ -21,6 +21,7 @@ use CRM_Afform_ExtensionUtil as E; * @labelField title * @iconField type:icon * @searchable none + * @since 5.31 * @package Civi\Api4 */ class Afform extends Generic\AbstractEntity { diff --git a/ext/afform/core/Civi/Api4/AfformBehavior.php b/ext/afform/core/Civi/Api4/AfformBehavior.php index b0ee312386..6f1742b9f6 100644 --- a/ext/afform/core/Civi/Api4/AfformBehavior.php +++ b/ext/afform/core/Civi/Api4/AfformBehavior.php @@ -8,6 +8,7 @@ namespace Civi\Api4; * Provided by the Afform: Core Runtime extension. * * @searchable secondary + * @since 5.56 * @package Civi\Api4 */ class AfformBehavior extends Generic\AbstractEntity { diff --git a/ext/afform/core/Civi/Api4/AfformSubmission.php b/ext/afform/core/Civi/Api4/AfformSubmission.php index 49bb1e3b6c..59c3ba3f13 100644 --- a/ext/afform/core/Civi/Api4/AfformSubmission.php +++ b/ext/afform/core/Civi/Api4/AfformSubmission.php @@ -7,6 +7,7 @@ namespace Civi\Api4; * Provided by the Afform: Core Runtime extension. * * @searchable secondary + * @since 5.42 * @package Civi\Api4 */ class AfformSubmission extends Generic\DAOEntity { diff --git a/ext/afform/core/info.xml b/ext/afform/core/info.xml index f506ac4d27..f2dfec9803 100644 --- a/ext/afform/core/info.xml +++ b/ext/afform/core/info.xml @@ -14,10 +14,13 @@ 2020-01-09 5.67.alpha1 - beta 5.67 + stable + + mgmt:required + The Form Core extension is required to use any dynamic form. To administer and edit forms, also install the FormBuilder extension. CRM/Afform diff --git a/ext/authx/info.xml b/ext/authx/info.xml index 8263acfa60..757af71474 100644 --- a/ext/authx/info.xml +++ b/ext/authx/info.xml @@ -17,6 +17,9 @@ 2021-02-11 5.67.alpha1 stable + + mgmt:required + 5.67 diff --git a/setup/plugins/init/DefaultExtensions.civi-setup.php b/setup/plugins/init/DefaultExtensions.civi-setup.php index 7d5f4b2d4c..40697c06a9 100644 --- a/setup/plugins/init/DefaultExtensions.civi-setup.php +++ b/setup/plugins/init/DefaultExtensions.civi-setup.php @@ -14,5 +14,7 @@ if (!defined('CIVI_SETUP')) { \Civi\Setup::log()->info(sprintf('[%s] Handle %s', basename(__FILE__), 'init')); $e->getModel()->extensions[] = 'org.civicrm.search_kit'; + $e->getModel()->extensions[] = 'org.civicrm.afform'; + $e->getModel()->extensions[] = 'authx'; }); diff --git a/tests/phpunit/CRM/Contribute/Import/Parser/ContributionTest.php b/tests/phpunit/CRM/Contribute/Import/Parser/ContributionTest.php index 87cea9c4d9..a76c9c7e86 100644 --- a/tests/phpunit/CRM/Contribute/Import/Parser/ContributionTest.php +++ b/tests/phpunit/CRM/Contribute/Import/Parser/ContributionTest.php @@ -51,7 +51,7 @@ class CRM_Contribute_Import_Parser_ContributionTest extends CiviUnitTestCase { * * @var string[] */ - protected $toggleExtensions = ['civiimport', 'org.civicrm.afform', 'authx']; + protected $toggleExtensions = ['civiimport']; protected function setUp(): void { parent::setUp(); diff --git a/tests/phpunit/CRM/Dedupe/MergerTest.php b/tests/phpunit/CRM/Dedupe/MergerTest.php index a5588665be..e8cafc8c18 100644 --- a/tests/phpunit/CRM/Dedupe/MergerTest.php +++ b/tests/phpunit/CRM/Dedupe/MergerTest.php @@ -1270,6 +1270,9 @@ class CRM_Dedupe_MergerTest extends CiviUnitTestCase { 'civicrm_address' => [ 0 => 'contact_id', ], + 'civicrm_afform_submission' => [ + 0 => 'contact_id', + ], 'civicrm_batch' => [ 0 => 'created_id', 1 => 'modified_id', -- 2.25.1