X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=api%2Fv3%2FCaseType.php;h=d046c5a20cf4f5245a8f979c591cec84dd4bea26;hb=785b0cfda8edb302604577e5992ad8168ddca3d8;hp=f877bdea323b30144ef0b28d0b2060a16216873a;hpb=1d124ed2e445179dda183483b24cdb2060323dea;p=civicrm-core.git diff --git a/api/v3/CaseType.php b/api/v3/CaseType.php index f877bdea32..d046c5a20c 100644 --- a/api/v3/CaseType.php +++ b/api/v3/CaseType.php @@ -50,7 +50,7 @@ * @access public */ function civicrm_api3_case_type_create($params) { - civicrm_api3_verify_mandatory($params, _civicrm_api3_get_DAO(__FUNCTION__), array('name')); + civicrm_api3_verify_mandatory($params, _civicrm_api3_get_DAO(__FUNCTION__)); if (!array_key_exists('is_active', $params) && empty($params['id'])) { $params['is_active'] = TRUE; @@ -62,13 +62,35 @@ function civicrm_api3_case_type_create($params) { /** * Function to retrieve case types * + * @param $params + * * @return array $caseTypes case types keyed by id * @access public - * */ function civicrm_api3_case_type_get($params) { civicrm_api3_verify_mandatory($params); - return _civicrm_api3_basic_get(_civicrm_api3_get_BAO(__FUNCTION__), $params); + $caseTypes = _civicrm_api3_basic_get(_civicrm_api3_get_BAO(__FUNCTION__), $params); + + // format case type, to fetch xml definition + return _civicrm_api3_case_type_get_formatResult($caseTypes); +} + +/** + * Function to format definition + * + * @param $caseTypes + * @return mixed + */ +function _civicrm_api3_case_type_get_formatResult(&$result) { + foreach ($result['values'] as $key => $caseType) { + $xml = CRM_Case_XMLRepository::singleton()->retrieve($caseType['name']); + if ($xml) { + $result['values'][$key]['definition'] = CRM_Case_BAO_CaseType::convertXmlToDefinition($xml); + } else { + $result['values'][$key]['definition'] = array(); + } + } + return $result; } /**