Merge pull request #3679 from yashodha/CRM-14951
[civicrm-core.git] / api / v3 / CaseType.php
index 0c95a859357a35d66075428bd07a9050bd3d8e38..d046c5a20cf4f5245a8f979c591cec84dd4bea26 100644 (file)
@@ -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;
@@ -69,7 +69,28 @@ function civicrm_api3_case_type_create($params) {
  */
 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;
 }
 
 /**