public function listTokens() {
$tokens = CRM_Core_SelectValues::contactTokens();
if (isset($this->_caseId)) {
- $tokens += CRM_Core_SelectValues::caseTokens();
+ $caseTypeId = CRM_Core_DAO::getFieldValue('CRM_Case_DAO_Case', $this->_caseId, 'case_type_id');
+ $tokens += CRM_Core_SelectValues::caseTokens($caseTypeId);
}
return $tokens;
}
}
/**
+ * @param int $caseTypeId
* @return array
*/
- public static function caseTokens() {
+ public static function caseTokens($caseTypeId = NULL) {
static $tokens = NULL;
if (!$tokens) {
foreach (CRM_Case_BAO_Case::fields() as $field) {
$tokens["{case.{$field['name']}}"] = $field['title'];
}
- $customFields = CRM_Core_BAO_CustomField::getFields('Case');
+ $customFields = CRM_Core_BAO_CustomField::getFields('Case', FALSE, FALSE, $caseTypeId);
foreach ($customFields as $id => $field) {
$tokens["{case.custom_$id}"] = "{$field['label']} :: {$field['groupTitle']}";
}