* @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'])) {
+ if (!array_key_exists('is_active', $params) && empty($params['id'])) {
$params['is_active'] = TRUE;
}
return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'CaseType');
/**
* 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;
}
/**