From 54caf6d646e736c1539f3cd70d3b91cd59bf46c4 Mon Sep 17 00:00:00 2001 From: Rich Lott / Artful Robot Date: Mon, 2 Oct 2023 12:02:56 +0100 Subject: [PATCH] standalone: fix naming of class preventing install --- ext/standaloneusers/CRM/Standaloneusers/Upgrader.php | 11 ++++++----- .../Standaloneusers/WorkflowMessage/PasswordReset.php | 3 ++- .../Civi/Api4/Action/User/SendPasswordReset.php | 1 - ext/standaloneusers/Civi/Standalone/Security.php | 8 ++++---- .../tests/phpunit/Civi/Standalone/SecurityTest.php | 1 - 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/ext/standaloneusers/CRM/Standaloneusers/Upgrader.php b/ext/standaloneusers/CRM/Standaloneusers/Upgrader.php index f867c7c6f4..d53b2721c0 100644 --- a/ext/standaloneusers/CRM/Standaloneusers/Upgrader.php +++ b/ext/standaloneusers/CRM/Standaloneusers/Upgrader.php @@ -1,5 +1,6 @@ createPasswordResetMessageTemplate(); + $this->createPasswordResetMessageTemplate(); // `standaloneusers` is installed as part of the overall install process for `Standalone`. // A subsequent step will configure some default users (*depending on local options*). @@ -80,14 +81,14 @@ class CRM_Standaloneusers_Upgrader extends CRM_Extension_Upgrader_Base { ]; // Create a "reserved" template. This is a pristine copy provided for reference. - civicrm_api4('MessageTemplate', 'create', - [ + MessageTemplate::create(FALSE) + ->setValues([ 'values' => $baseTpl + ['is_reserved' => 1, 'is_default' => 0], ]); // Create a default template. This is live. The administrator may edit/customize. - civicrm_api4('MessageTemplate', 'create', - [ + MessageTemplate::create(FALSE) + ->setValues([ 'values' => $baseTpl + ['is_reserved' => 0, 'is_default' => 1], ]); diff --git a/ext/standaloneusers/CRM/Standaloneusers/WorkflowMessage/PasswordReset.php b/ext/standaloneusers/CRM/Standaloneusers/WorkflowMessage/PasswordReset.php index be625bca3e..3968694e39 100644 --- a/ext/standaloneusers/CRM/Standaloneusers/WorkflowMessage/PasswordReset.php +++ b/ext/standaloneusers/CRM/Standaloneusers/WorkflowMessage/PasswordReset.php @@ -9,7 +9,8 @@ use Civi\WorkflowMessage\GenericWorkflowMessage; * @method static setUsernameHtml(string $s) * */ -class CRM_Standalone_WorkflowMessage_PasswordReset extends GenericWorkflowMessage { +class CRM_Standaloneusers_WorkflowMessage_PasswordReset extends GenericWorkflowMessage { + public const WORKFLOW = 'password_reset'; /** diff --git a/ext/standaloneusers/Civi/Api4/Action/User/SendPasswordReset.php b/ext/standaloneusers/Civi/Api4/Action/User/SendPasswordReset.php index 73e89dc155..101d210675 100644 --- a/ext/standaloneusers/Civi/Api4/Action/User/SendPasswordReset.php +++ b/ext/standaloneusers/Civi/Api4/Action/User/SendPasswordReset.php @@ -71,7 +71,6 @@ class SendPasswordReset extends AbstractAction { $workflowMessage = Security::singleton()->preparePasswordResetWorkflow($user, $token); if ($workflowMessage) { - /** @var \CRM_Standalone_WorkflowMessage_PasswordReset $workflowMessage */ // The template_params are used in the template like {$resetUrlHtml} and {$resetUrlHtml} {$usernamePlaintext} {$usernameHtml} try { [$sent, /*$subject, $text, $html*/] = $workflowMessage->sendTemplate(); diff --git a/ext/standaloneusers/Civi/Standalone/Security.php b/ext/standaloneusers/Civi/Standalone/Security.php index 8800919026..587f1f504e 100644 --- a/ext/standaloneusers/Civi/Standalone/Security.php +++ b/ext/standaloneusers/Civi/Standalone/Security.php @@ -5,7 +5,7 @@ use CRM_Core_Session; use Civi; use Civi\Api4\User; use Civi\Api4\MessageTemplate; -use CRM_Standalone_WorkflowMessage_PasswordReset; +use CRM_Standaloneusers_WorkflowMessage_PasswordReset; /** * This is a single home for security related functions for Civi Standalone. @@ -422,9 +422,9 @@ class Security { /** * Prepare a password reset workflow email, if configured. * - * @return \CRM_Standalone_WorkflowMessage_PasswordReset|null + * @return \CRM_Standaloneusers_WorkflowMessage_PasswordReset|null */ - public function preparePasswordResetWorkflow(array $user, string $token): ?CRM_Standalone_WorkflowMessage_PasswordReset { + public function preparePasswordResetWorkflow(array $user, string $token): ?CRM_Standaloneusers_WorkflowMessage_PasswordReset { // Find the message template $tplID = MessageTemplate::get(FALSE) ->setSelect(['id']) @@ -445,7 +445,7 @@ class Security { // The template_params are used in the template like {$resetUrlHtml} and {$resetUrlHtml} {$usernamePlaintext} {$usernameHtml} list($domainFromName, $domainFromEmail) = \CRM_Core_BAO_Domain::getNameAndEmail(TRUE); - $workflowMessage = (new \CRM_Standalone_WorkflowMessage_PasswordReset()) + $workflowMessage = (new \CRM_Standaloneusers_WorkflowMessage_PasswordReset()) ->setDataFromUser($user, $token) ->setFrom("\"$domainFromName\" <$domainFromEmail>"); diff --git a/ext/standaloneusers/tests/phpunit/Civi/Standalone/SecurityTest.php b/ext/standaloneusers/tests/phpunit/Civi/Standalone/SecurityTest.php index c1e2fe972b..7da17a2941 100644 --- a/ext/standaloneusers/tests/phpunit/Civi/Standalone/SecurityTest.php +++ b/ext/standaloneusers/tests/phpunit/Civi/Standalone/SecurityTest.php @@ -417,7 +417,6 @@ class SecurityTest extends \PHPUnit\Framework\TestCase implements EndToEndInterf // Check the message template generation $token = \Civi\Api4\Action\User\SendPasswordReset::updateToken($userID); - /** @var \CRM_Standalone_WorkflowMessage_PasswordReset */ $workflow = $security->preparePasswordResetWorkflow($user, $token); $result = $workflow->renderTemplate(); -- 2.25.1