From 3492ae942b4698fcc70498225388ec8d0f98a2f3 Mon Sep 17 00:00:00 2001 From: Eileen McNaughton Date: Mon, 6 Sep 2021 14:34:05 +1200 Subject: [PATCH] dev/core#2814 Fix membership pdf to use renderTemplate --- CRM/Member/Form/Task/PDFLetter.php | 8 ++------ CRM/Member/Form/Task/PDFLetterCommon.php | 8 ++------ .../phpunit/CRM/Member/Form/Task/PDFLetterCommonTest.php | 2 ++ 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/CRM/Member/Form/Task/PDFLetter.php b/CRM/Member/Form/Task/PDFLetter.php index 02d581159f..0b958f23db 100644 --- a/CRM/Member/Form/Task/PDFLetter.php +++ b/CRM/Member/Form/Task/PDFLetter.php @@ -154,12 +154,8 @@ class CRM_Member_Form_Task_PDFLetter extends CRM_Member_Form_Task { 'CRM_Contribution_Form_Task_PDFLetterCommon' ); - $tokenHtml = CRM_Utils_Token::replaceContactTokens($html_message, $contacts[$contactId], TRUE, $messageToken); - $tokenHtml = CRM_Utils_Token::replaceEntityTokens('membership', $membership, $tokenHtml, $messageToken); - $tokenHtml = CRM_Utils_Token::replaceHookTokens($tokenHtml, $contacts[$contactId], $categories, TRUE); - $tokenHtml = CRM_Utils_Token::parseThroughSmarty($tokenHtml, $contacts[$contactId]); - - $html[] = $tokenHtml; + $tokenHtml = CRM_Utils_Token::replaceEntityTokens('membership', $membership, $html_message, $messageToken); + $html[] = CRM_Core_BAO_MessageTemplate::renderTemplate(['messageTemplate' => ['msg_html' => $tokenHtml], 'contactId' => $contactId])['html']; } return $html; diff --git a/CRM/Member/Form/Task/PDFLetterCommon.php b/CRM/Member/Form/Task/PDFLetterCommon.php index 86191d616e..1d36c5e806 100644 --- a/CRM/Member/Form/Task/PDFLetterCommon.php +++ b/CRM/Member/Form/Task/PDFLetterCommon.php @@ -90,12 +90,8 @@ class CRM_Member_Form_Task_PDFLetterCommon extends CRM_Contact_Form_Task_PDFLett 'CRM_Contribution_Form_Task_PDFLetterCommon' ); - $tokenHtml = CRM_Utils_Token::replaceContactTokens($html_message, $contacts[$contactId], TRUE, $messageToken); - $tokenHtml = CRM_Utils_Token::replaceEntityTokens('membership', $membership, $tokenHtml, $messageToken); - $tokenHtml = CRM_Utils_Token::replaceHookTokens($tokenHtml, $contacts[$contactId], $categories, TRUE); - $tokenHtml = CRM_Utils_Token::parseThroughSmarty($tokenHtml, $contacts[$contactId]); - - $html[] = $tokenHtml; + $tokenHtml = CRM_Utils_Token::replaceEntityTokens('membership', $membership, $html_message, $messageToken); + $html[] = CRM_Core_BAO_MessageTemplate::renderTemplate(['messageTemplate' => ['msg_html' => $tokenHtml], 'contactId' => $contactId])['html']; } return $html; diff --git a/tests/phpunit/CRM/Member/Form/Task/PDFLetterCommonTest.php b/tests/phpunit/CRM/Member/Form/Task/PDFLetterCommonTest.php index 856f2cab27..d6684a43c9 100644 --- a/tests/phpunit/CRM/Member/Form/Task/PDFLetterCommonTest.php +++ b/tests/phpunit/CRM/Member/Form/Task/PDFLetterCommonTest.php @@ -84,6 +84,7 @@ class CRM_Member_Form_Task_PDFLetterCommonTest extends CiviUnitTestCase { // Assert all membership tokens are replaced correctly. $expected = array_values($expected); foreach ($expected as $key => $dateVal) { + $this->assertStringContainsString('Anthony', $testHTML[$key]); foreach ($tokens as $text => $token) { $this->assertStringContainsString($dateVal[$token], $testHTML[$key]); } @@ -107,6 +108,7 @@ class CRM_Member_Form_Task_PDFLetterCommonTest extends CiviUnitTestCase { foreach ($tokens as $key => $val) { $html .= "

{$key} - {membership.{$val}}

"; } + $html .= '{contact.first_name}'; return [$tokens, $html]; } -- 2.25.1