From 1e477c5be5cabcf542fa020f1a66c564340fbbd4 Mon Sep 17 00:00:00 2001 From: eileen Date: Thu, 21 Feb 2019 14:56:56 +1300 Subject: [PATCH] Update Payment Notification to use greeting, to not encourage printing These changes are consistent with other changes. I also switched the parameters for when to include extra detail to deprecate contributeMode --- CRM/Contribute/Form/AdditionalPayment.php | 5 +++++ CRM/Financial/BAO/Payment.php | 4 ++++ CRM/Upgrade/Incremental/MessageTemplates.php | 11 ++++++++++- .../CRM/Contribute/Form/AdditionalPaymentTest.php | 7 ++++++- tests/phpunit/api/v3/PaymentTest.php | 6 +++--- .../payment_or_refund_notification_html.tpl | 8 ++++---- .../payment_or_refund_notification_text.tpl | 10 ++++------ 7 files changed, 36 insertions(+), 15 deletions(-) diff --git a/CRM/Contribute/Form/AdditionalPayment.php b/CRM/Contribute/Form/AdditionalPayment.php index 16c6ba562b..d7c49fa1b3 100644 --- a/CRM/Contribute/Form/AdditionalPayment.php +++ b/CRM/Contribute/Form/AdditionalPayment.php @@ -387,6 +387,11 @@ class CRM_Contribute_Form_AdditionalPayment extends CRM_Contribute_Form_Abstract $this->_params['contact_id'] = $this->_contactId; $this->_params['contribution_id'] = $this->_contributionId; + // These 2 rows are temporarily added for sequencing of adding commits. They won't be needed when we + // switch to Payment.send_confirmation api + $contact = civicrm_api3('Contact', 'getsingle', ['id' => $this->_contactId, 'return' => 'email_greeting']); + $this->assign('emailGreeting', $contact['email_greeting_display']); + $sendReceipt = $this->emailReceipt($this->_params); if ($sendReceipt) { $statusMsg .= ' ' . ts('A receipt has been emailed to the contributor.'); diff --git a/CRM/Financial/BAO/Payment.php b/CRM/Financial/BAO/Payment.php index 84f77b7a03..e445004226 100644 --- a/CRM/Financial/BAO/Payment.php +++ b/CRM/Financial/BAO/Payment.php @@ -169,6 +169,8 @@ class CRM_Financial_BAO_Payment { $contactID = self::getPaymentContactID($contributionID); list($displayName, $email) = CRM_Contact_BAO_Contact_Location::getEmailDetails($contactID); $entities['contact'] = ['id' => $contactID, 'display_name' => $displayName, 'email' => $email]; + $contact = civicrm_api3('Contact', 'getsingle', ['id' => $contactID, 'return' => 'email_greeting']); + $entities['contact']['email_greeting'] = $contact['email_greeting_display']; $participantRecords = civicrm_api3('ParticipantPayment', 'get', [ 'contribution_id' => $contributionID, @@ -214,6 +216,7 @@ class CRM_Financial_BAO_Payment { public static function getConfirmationTemplateParameters($entities) { $templateVariables = [ 'contactDisplayName' => $entities['contact']['display_name'], + 'emailGreeting' => $entities['contact']['email_greeting'], 'totalAmount' => $entities['payment']['total'], 'amountOwed' => $entities['payment']['balance'], 'totalPaid' => $entities['payment']['paid'], @@ -263,6 +266,7 @@ class CRM_Financial_BAO_Payment { 'refundAmount', 'totalPaid', 'paymentsComplete', + 'emailGreeting' ]; // These are assigned by the payment form - they still 'get through' from the // form for now without being in here but we should ideally load diff --git a/CRM/Upgrade/Incremental/MessageTemplates.php b/CRM/Upgrade/Incremental/MessageTemplates.php index 407cfa7a2f..ba754a3bb7 100644 --- a/CRM/Upgrade/Incremental/MessageTemplates.php +++ b/CRM/Upgrade/Incremental/MessageTemplates.php @@ -102,7 +102,16 @@ class CRM_Upgrade_Incremental_MessageTemplates { ['name' => 'membership_online_receipt', 'type' => 'text'], ['name' => 'membership_online_receipt', 'type' => 'html'], ] - ] + ], + [ + 'version' => '5.12.alpha1', + 'upgrade_descriptor' => ts('Update payment notification to remove print text, use email greeting'), + 'label' => ts('Payment notification'), + 'templates' => [ + ['name' => 'payment_or_refund_notification', 'type' => 'text'], + ['name' => 'payment_or_refund_notification', 'type' => 'html'], + ] + ], ]; } diff --git a/tests/phpunit/CRM/Contribute/Form/AdditionalPaymentTest.php b/tests/phpunit/CRM/Contribute/Form/AdditionalPaymentTest.php index 8bf35e2609..0557dc3881 100644 --- a/tests/phpunit/CRM/Contribute/Form/AdditionalPaymentTest.php +++ b/tests/phpunit/CRM/Contribute/Form/AdditionalPaymentTest.php @@ -137,11 +137,16 @@ class CRM_Contribute_Form_AdditionalPaymentTest extends CiviUnitTestCase { $this->checkResults(array(30, 70), 2); $mut->assertSubjects(['Payment Receipt -']); $mut->checkMailLog([ - 'Dear Anthony Anderson', + 'Dear Anthony,', 'Payment Details', 'Total Fees: $ 100.00', 'This Payment Amount: $ 70.00', 'Balance Owed: $ 0.00 ', + 'Billing Name and Address', + 'Vancouver, AE 1321312', + 'Visa', + '***********1111', + 'Expires: May 2025', ]); $mut->stop(); diff --git a/tests/phpunit/api/v3/PaymentTest.php b/tests/phpunit/api/v3/PaymentTest.php index 737d27010e..fbb5261cfc 100644 --- a/tests/phpunit/api/v3/PaymentTest.php +++ b/tests/phpunit/api/v3/PaymentTest.php @@ -132,7 +132,7 @@ class api_v3_PaymentTest extends CiviUnitTestCase { $this->callAPISuccess('Payment', 'sendconfirmation', ['id' => $payment['id']]); $mut->assertSubjects(['Payment Receipt - Annual CiviCRM meet']); $mut->checkMailLog(array( - 'Dear Mr. Anthony Anderson II', + 'Dear Anthony,', 'Total Fees: $ 300.00', 'This Payment Amount: $ 50.00', 'Balance Owed: $ 100.00', //150 was paid in the 1st payment. @@ -163,7 +163,7 @@ class api_v3_PaymentTest extends CiviUnitTestCase { $this->callAPISuccess('Payment', 'sendconfirmation', ['id' => $payment['id']]); $mut->assertSubjects(['Payment Receipt - Annual CiviCRM meet']); $mut->checkMailLog(array( - 'Dear Mr. Anthony Anderson II', + 'Dear Anthony,', 'A payment has been received.', 'Total Fees: $ 300.00', 'This Payment Amount: $ 150.00', @@ -212,7 +212,7 @@ class api_v3_PaymentTest extends CiviUnitTestCase { $this->callAPISuccess('Payment', 'sendconfirmation', ['id' => $payment['id']]); $mut->assertSubjects(['Refund Notification - Annual CiviCRM meet']); $mut->checkMailLog(array( - 'Dear Mr. Anthony Anderson II', + 'Dear Anthony,', 'A refund has been issued based on changes in your registration selections.', 'Total Fees: $ 300' . $decimalSeparator . '00', 'Refund Amount: $ -30' . $decimalSeparator . '00', diff --git a/xml/templates/message_templates/payment_or_refund_notification_html.tpl b/xml/templates/message_templates/payment_or_refund_notification_html.tpl index 709d7915d9..c47efb7f82 100644 --- a/xml/templates/message_templates/payment_or_refund_notification_html.tpl +++ b/xml/templates/message_templates/payment_or_refund_notification_html.tpl @@ -12,7 +12,8 @@ {capture assign=emptyBlockStyle }style="padding: 10px; border-bottom: 1px solid #999;background-color: #f7f7f7;"{/capture} {capture assign=emptyBlockValueStyle }style="padding: 10px; border-bottom: 1px solid #999;"{/capture} -

Dear {$contactDisplayName}

+{if $emailGreeting}

{$emailGreeting},

{/if} +
@@ -29,7 +30,6 @@ {else}

{ts}A payment has been received.{/ts}

{/if} -

{ts}Please print this confirmation for your records.{/ts}

@@ -147,7 +147,7 @@
- {if $contributeMode eq 'direct' and !$isAmountzero} + {if $billingName || $address} {/if} - {if $contributeMode eq'direct' and !$isAmountzero} + {if $credit_card_number}
{ts}Billing Name and Address{/ts} @@ -160,7 +160,7 @@
{ts}Credit Card Information{/ts} diff --git a/xml/templates/message_templates/payment_or_refund_notification_text.tpl b/xml/templates/message_templates/payment_or_refund_notification_text.tpl index c713864c05..2f166dd3d4 100644 --- a/xml/templates/message_templates/payment_or_refund_notification_text.tpl +++ b/xml/templates/message_templates/payment_or_refund_notification_text.tpl @@ -1,12 +1,10 @@ -Dear {$contactDisplayName} -{if $isRefund} +{if $emailGreeting}{$emailGreeting}, +{/if}{if $isRefund} {ts}A refund has been issued based on changes in your registration selections.{/ts} {else} {ts}A payment has been received.{/ts} {/if} -{ts}Please print this confirmation for your records.{/ts} - {if $isRefund} =============================================================================== @@ -46,7 +44,7 @@ Dear {$contactDisplayName} {if $checkNumber} {ts}Check Number{/ts}: {$checkNumber} {/if} -{if $contributeMode eq 'direct' and !$isAmountzero} +{if $billingName || $address} =============================================================================== @@ -58,7 +56,7 @@ Dear {$contactDisplayName} {$address} {/if} -{if $contributeMode eq 'direct' and !$isAmountzero} +{if $credit_card_number} =========================================================== {ts}Credit Card Information{/ts} -- 2.25.1