From 5973d2e1cb4dc7f1cb98474f4cf593b0df0c8666 Mon Sep 17 00:00:00 2001 From: eileen Date: Sun, 23 Apr 2017 15:06:38 +1200 Subject: [PATCH] CRM-20449: enotices from 'send thankyou letter' on contribution search --- CRM/Utils/Token.php | 17 +++++------------ tests/phpunit/CRM/Utils/Token.php | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+), 12 deletions(-) create mode 100644 tests/phpunit/CRM/Utils/Token.php diff --git a/CRM/Utils/Token.php b/CRM/Utils/Token.php index 1353e26460..124394cd2e 100644 --- a/CRM/Utils/Token.php +++ b/CRM/Utils/Token.php @@ -1249,22 +1249,15 @@ class CRM_Utils_Token { foreach ($contactIDs as $key => $contactID) { if (array_key_exists($contactID, $contactDetails)) { - if (CRM_Utils_Array::value('preferred_communication_method', $returnProperties) == 1 - && array_key_exists('preferred_communication_method', $contactDetails[$contactID]) + if (!empty($contactDetails[$contactID]['preferred_communication_method']) ) { - $pcm = CRM_Core_PseudoConstant::get('CRM_Contact_DAO_Contact', 'preferred_communication_method'); - - // communication Preference - $contactPcm = explode(CRM_Core_DAO::VALUE_SEPARATOR, - $contactDetails[$contactID]['preferred_communication_method'] - ); - $result = array(); - foreach ($contactPcm as $key => $val) { + $communicationPreferences = array(); + foreach ($contactDetails[$contactID]['preferred_communication_method'] as $key => $val) { if ($val) { - $result[$val] = $pcm[$val]; + $communicationPreferences[$val] = CRM_Core_PseudoConstant::getLabel('CRM_Contact_DAO_Contact', 'preferred_communication_method', $val); } } - $contactDetails[$contactID]['preferred_communication_method'] = implode(', ', $result); + $contactDetails[$contactID]['preferred_communication_method'] = implode(', ', $communicationPreferences); } foreach ($custom as $cfID) { diff --git a/tests/phpunit/CRM/Utils/Token.php b/tests/phpunit/CRM/Utils/Token.php new file mode 100644 index 0000000000..5010669761 --- /dev/null +++ b/tests/phpunit/CRM/Utils/Token.php @@ -0,0 +1,18 @@ +individualCreate(array('preferred_communication_method' => array('Phone', 'Fax'))); + $resolvedTokens = CRM_Utils_Token::getTokenDetails(array($contactID)); + $this->assertEquals('Phone, Fax', $resolvedTokens[0][$contactID]['preferred_communication_method']); + } + +} -- 2.25.1