From 695b18b9e50de7e5629df680654ea3795c57758d Mon Sep 17 00:00:00 2001
From: Eileen McNaughton
Date: Sat, 23 Sep 2023 10:27:22 +1200
Subject: [PATCH] Replace last tpl uses of contributeMode
This adds the strings to what the processor can determin, allowing us to stop checkign contributeMode
---
CRM/Contribute/Form/AdditionalPayment.php | 1 -
CRM/Core/Payment.php | 16 ++++++++++++++++
CRM/Event/Form/Registration.php | 4 +---
CRM/Event/Form/Registration/Confirm.php | 2 ++
CRM/Event/Form/Registration/ThankYou.php | 6 +++++-
.../CRM/Event/Form/Registration/Confirm.tpl | 6 +-----
.../CRM/Event/Form/Registration/ThankYou.tpl | 8 ++++----
7 files changed, 29 insertions(+), 14 deletions(-)
diff --git a/CRM/Contribute/Form/AdditionalPayment.php b/CRM/Contribute/Form/AdditionalPayment.php
index 370f41ad56..25e0a275e2 100644
--- a/CRM/Contribute/Form/AdditionalPayment.php
+++ b/CRM/Contribute/Form/AdditionalPayment.php
@@ -321,7 +321,6 @@ class CRM_Contribute_Form_AdditionalPayment extends CRM_Contribute_Form_Abstract
if ($this->_mode) {
// process credit card
- $this->assign('contributeMode', 'direct');
$this->processCreditCard();
}
diff --git a/CRM/Core/Payment.php b/CRM/Core/Payment.php
index 9e0f2a33a8..c7fc98f3fe 100644
--- a/CRM/Core/Payment.php
+++ b/CRM/Core/Payment.php
@@ -609,6 +609,22 @@ abstract class CRM_Core_Payment {
}
return ts('Make Contribution');
+ case 'eventContinueText':
+ // This use of the ts function uses the legacy interpolation of the button name to avoid translations having to be re-done.
+ if ((int) $this->_paymentProcessor['billing_mode'] === self::BILLING_MODE_NOTIFY) {
+ return ts('Click %1 to checkout with %2.', [1 => ts('Register'), 2 => $this->_paymentProcessor['frontend_title']]);
+ }
+ return ts('Click %1 to complete your registration.', [1 => ts('Register')]);
+
+ case 'eventConfirmText':
+ if ((int) $this->_paymentProcessor['billing_mode'] === self::BILLING_MODE_NOTIFY) {
+ return ts('Your registration payment has been submitted to %1 for processing', [1 => $this->_paymentProcessor['frontend_title']]);
+ }
+ return '';
+
+ case 'eventConfirmEmailText':
+ return ts('A registration confirmation email will be sent to %1 once the transaction is processed successfully.', [1 => $params['email']]);
+
case 'cancelRecurDetailText':
if ($params['mode'] === 'auto_renew') {
return ts('Click the button below if you want to cancel the auto-renewal option for your %1 membership. This will not cancel your membership. However you will need to arrange payment for renewal when your membership expires.',
diff --git a/CRM/Event/Form/Registration.php b/CRM/Event/Form/Registration.php
index c10351632b..726eb3b961 100644
--- a/CRM/Event/Form/Registration.php
+++ b/CRM/Event/Form/Registration.php
@@ -382,10 +382,8 @@ class CRM_Event_Form_Registration extends CRM_Core_Form {
}
// The concept of contributeMode is deprecated.
$this->_contributeMode = $this->get('contributeMode');
- $this->assign('contributeMode', $this->_contributeMode);
-
- $this->assign('paidEvent', $this->_values['event']['is_monetary']);
+ $this->assign('paidEvent', $this->getEventValue('is_monetary'));
// we do not want to display recently viewed items on Registration pages
$this->assign('displayRecent', FALSE);
diff --git a/CRM/Event/Form/Registration/Confirm.php b/CRM/Event/Form/Registration/Confirm.php
index 04be4e89af..4c39c2869c 100644
--- a/CRM/Event/Form/Registration/Confirm.php
+++ b/CRM/Event/Form/Registration/Confirm.php
@@ -272,6 +272,8 @@ class CRM_Event_Form_Registration_Confirm extends CRM_Event_Form_Registration {
$this->assign('amounts', $this->_amount);
$this->assign('totalAmount', $this->_totalAmount);
$this->set('totalAmount', $this->_totalAmount);
+ // This use of the ts function uses the legacy interpolation of the button name to avoid translations having to be re-done.
+ $this->assign('verifyText', !$this->_totalAmount ? ts('Click %1 to complete your registration.', [1 => ts('Register')]) : $this->getPaymentProcessorObject()->getText('eventContinueText', []));
$showPaymentOnConfirm = (in_array($this->_eventId, \Civi::settings()->get('event_show_payment_on_confirm')) || in_array('all', \Civi::settings()->get('event_show_payment_on_confirm')));
$this->assign('showPaymentOnConfirm', $showPaymentOnConfirm);
diff --git a/CRM/Event/Form/Registration/ThankYou.php b/CRM/Event/Form/Registration/ThankYou.php
index 948294772a..474e3d5f8d 100644
--- a/CRM/Event/Form/Registration/ThankYou.php
+++ b/CRM/Event/Form/Registration/ThankYou.php
@@ -72,13 +72,17 @@ class CRM_Event_Form_Registration_ThankYou extends CRM_Event_Form_Registration {
public function buildQuickForm() {
// Assign the email address from a contact id lookup as in CRM_Event_BAO_Event->sendMail()
$primaryContactId = $this->get('primaryContactId');
+ $email = NULL;
if ($primaryContactId) {
$email = CRM_Utils_Array::valueByRegexKey('/^email-/', current($this->_params));
if (!$email) {
$email = CRM_Contact_BAO_Contact::getPrimaryEmail($primaryContactId);
}
- $this->assign('email', $email);
}
+ $this->assign('email', $email ?? NULL);
+ $this->assign('eventConfirmText', $this->getEventValue('is_monetary') ? $this->getPaymentProcessorObject()->getText('eventConfirmText', []) : '');
+ $this->assign('eventConfirmEmailText', ($email && $this->getEventValue('is_monetary')) ? $this->getPaymentProcessorObject()->getText('eventConfirmEmailText', ['email' => $email]) : '');
+
$this->assignToTemplate();
$invoicing = CRM_Invoicing_Utils::isInvoicingEnabled();
diff --git a/templates/CRM/Event/Form/Registration/Confirm.tpl b/templates/CRM/Event/Form/Registration/Confirm.tpl
index 98dddde24b..006f9e2c9f 100644
--- a/templates/CRM/Event/Form/Registration/Confirm.tpl
+++ b/templates/CRM/Event/Form/Registration/Confirm.tpl
@@ -22,11 +22,7 @@
{ts 1=$register}Click %1 to submit your registration for approval.{/ts}
{else}
{ts}Please verify your information.{/ts}
- {if $contributeMode EQ 'notify' and !$is_pay_later and !$isAmountzero}
- {ts 1=$register 2=$paymentProcessor.frontend_title}Click %1 to checkout with %2.{/ts}
- {else}
- {ts 1=$register}Click %1 to complete your registration.{/ts}
- {/if}
+ {$verifyText}
{/if}
{if $is_pay_later and !$isAmountzero and !$isOnWaitlist and !$isRequireApproval}
diff --git a/templates/CRM/Event/Form/Registration/ThankYou.tpl b/templates/CRM/Event/Form/Registration/ThankYou.tpl
index 14fe56cfa5..a902988819 100644
--- a/templates/CRM/Event/Form/Registration/ThankYou.tpl
+++ b/templates/CRM/Event/Form/Registration/ThankYou.tpl
@@ -51,11 +51,11 @@
{if $is_email_confirm}
{ts 1=$email}An email with event details has been sent to %1.{/ts}
{/if}
- {* PayPal_Standard sets contribution_mode to 'notify'. We don't know if transaction is successful until we receive the IPN (payment notification) *}
- {elseif $contributeMode EQ 'notify' and $paidEvent}
- {ts 1=$paymentProcessor.name}Your registration payment has been submitted to %1 for processing.{/ts}
+ {* This text is determined by the payment processor *}
+ {elseif $eventConfirmText}
+ {$eventConfirmText}
{if $is_email_confirm}
- {ts 1=$email}A registration confirmation email will be sent to %1 once the transaction is processed successfully.{/ts}
+ {$eventEmailConfirmText}
{/if}
{else}
{ts}Your registration has been processed successfully.{/ts}
--
2.25.1