From e79097b43d8baef7b5868bf8dcbb1efee164c6ae Mon Sep 17 00:00:00 2001 From: shahrukh-compucorp Date: Thu, 19 Nov 2020 22:57:26 +0500 Subject: [PATCH] Add client tokens for a case --- casetokens.php | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) mode change 100755 => 100644 casetokens.php diff --git a/casetokens.php b/casetokens.php old mode 100755 new mode 100644 index 4b5356e..d1b2163 --- a/casetokens.php +++ b/casetokens.php @@ -228,6 +228,11 @@ function casetokens_civicrm_tokens(&$tokens) { catch (Throwable $ex) { } } + //adding tokens for client case role + foreach ($allFields as $key =>$field) { + $tokens['case_roles']["case_roles.client_{$key}"] = + "Case Client". ' - ' . ts(ucwords($field)); + } } } @@ -242,7 +247,8 @@ function casetokens_civicrm_tokenvalues(&$values, $cids, $job = NULL, $tokens = 'case_id' => $caseId, 'options' => array('limit' => 0), 'contact_id.is_deleted' => 0, - 'return' => array('contact_id.display_name'), + 'sequential' => 1, + 'return' => array('contact_id.display_name','contact_id.id'), )); $clients = implode(', ', CRM_Utils_Array::collect('contact_id.display_name', $caseContact['values'])); @@ -268,7 +274,13 @@ function casetokens_civicrm_tokenvalues(&$values, $cids, $job = NULL, $tokens = )); } } - + //fill client values + if (!empty($caseContact['values']) && !empty($caseContact['values'][0])) { + $contacts['client'] = civicrm_api3('Contact', 'getsingle', [ + 'id' => $caseContact['values'][0]['contact_id.id'], + 'return' => array_keys($allFields), + ]); + } // Fill tokens $caseRolesContact = array(); foreach ($contacts as $role => $contact) {