getValue blows up if value is not set, so use getSingle instead
authorAidan Saunders <aidan.saunders@squiffle.uk>
Fri, 14 Dec 2018 12:33:03 +0000 (12:33 +0000)
committerAidan Saunders <aidan.saunders@squiffle.uk>
Fri, 14 Dec 2018 12:33:03 +0000 (12:33 +0000)
Civi/Token/TokenRow.php

index 4f186d3d5c1ea9ccf3d84806cc76e7b8d834554c..efe5275f2af2802bf3a7af8e3c24e5c2e0b7f215 100644 (file)
@@ -136,10 +136,11 @@ class TokenRow {
    */
   public function customToken($entity, $customFieldID, $entityID) {
     $customFieldName = "custom_" . $customFieldID;
-    $fieldValue = civicrm_api3($entity, 'getvalue', array(
+    $record = civicrm_api3($entity, "getSingle", [
       'return' => $customFieldName,
-      'id' => $entityID,
-    ));
+       'id' => $entityID,
+    ]);
+    $fieldValue = \CRM_Utils_Array::value($customFieldName, $record, '');
 
     // format the raw custom field value into proper display value
     if ($fieldValue) {