From 44dd64f08a66b9ea836cdc228f03e0d7e2390113 Mon Sep 17 00:00:00 2001 From: Eileen McNaughton Date: Wed, 22 Sep 2021 12:42:32 +1200 Subject: [PATCH] Fix tokens to pass filters through --- Civi/Token/TokenProcessor.php | 2 +- .../CRM/Utils/TokenConsistencyTest.php | 19 +++++++++++-------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/Civi/Token/TokenProcessor.php b/Civi/Token/TokenProcessor.php index d23f8a581e..1a7d5d5d7c 100644 --- a/Civi/Token/TokenProcessor.php +++ b/Civi/Token/TokenProcessor.php @@ -430,7 +430,7 @@ class TokenProcessor { if ($value instanceof \DateTime) { // @todo cludgey. require_once 'CRM/Core/Smarty/plugins/modifier.crmDate.php'; - return \smarty_modifier_crmDate($value->format('Y-m-d H:i:s')); + return \smarty_modifier_crmDate($value->format('Y-m-d H:i:s'), $filter[1] ?? NULL); } default: diff --git a/tests/phpunit/CRM/Utils/TokenConsistencyTest.php b/tests/phpunit/CRM/Utils/TokenConsistencyTest.php index a4e0348a62..10a22888be 100644 --- a/tests/phpunit/CRM/Utils/TokenConsistencyTest.php +++ b/tests/phpunit/CRM/Utils/TokenConsistencyTest.php @@ -520,20 +520,23 @@ December 21st, 2007 public function testDomainNow(): void { putenv('TIME_FUNC=frozen'); CRM_Utils_Time::setTime('2021-09-18 23:58:00'); - $resolved = CRM_Core_BAO_MessageTemplate::renderTemplate([ - 'messageTemplate' => [ - 'msg_text' => '{domain.now|crmDate:short}', - ], - ])['text']; - $this->assertEquals('September 18th, 2021 11:58 PM', $resolved); + $modifiers = [ + 'shortdate' => '09/18/2021', + ]; + foreach ($modifiers as $filter => $expected) { + $resolved = CRM_Core_BAO_MessageTemplate::renderTemplate([ + 'messageTemplate' => [ + 'msg_text' => '{domain.now|crmDate:' . $filter . '}', + ], + ])['text']; + $this->assertEquals('09/18/2021', $resolved); + } $resolved = CRM_Core_BAO_MessageTemplate::renderTemplate([ 'messageTemplate' => [ 'msg_text' => '{domain.now}', ], ])['text']; $this->assertEquals('September 18th, 2021 11:58 PM', $resolved); - - $b1 = 1; } /** -- 2.25.1