Merge pull request #3679 from yashodha/CRM-14951
[civicrm-core.git] / api / v3 / Case.php
index afad807393830ed571ae9c63c90f4dd195302c43..6cde101596e743010ebb58562a2b6e3b8ba9bdb3 100644 (file)
@@ -189,6 +189,7 @@ function _civicrm_api3_case_delete_spec(&$params) {
  *
  * {@getfields case_get}
  *
+ * @throws API_Exception
  * @return array (get mode, case_id provided): Array with case details, case roles, case activity ids, (search mode, case_id not provided): Array of cases found@access public
  * @todo Erik Hommel 16 dec 2010 check if all DB fields are returned
  */
@@ -339,13 +340,14 @@ function civicrm_api3_case_update($params) {
 /**
  * Delete a specified case.
  *
- * @param  array(
   //REQUIRED:
+ * @param  array (
* //REQUIRED:
  * 'id' => int
  *
  * //OPTIONAL
  * 'move_to_trash' => bool (defaults to false)
  *
+ * @throws API_Exception
  * @return boolean: true if success, else false
  * {@getfields case_delete}
  * @access public
@@ -415,9 +417,16 @@ function _civicrm_api3_case_read($caseId, $options) {
  */
 function _civicrm_api3_case_format_params(&$params) {
   // figure out case type id from case type and vice-versa
-  $caseTypes = CRM_Case_PseudoConstant::caseType('title', FALSE);
+  $caseTypes = CRM_Case_PseudoConstant::caseType('name', FALSE);
   if (empty($params['case_type_id'])) {
     $params['case_type_id'] = array_search($params['case_type'], $caseTypes);
+
+    // DEPRECATED: lookup by label for backward compatibility
+    if (!$params['case_type_id']) {
+      $caseTypeLabels = CRM_Case_PseudoConstant::caseType('title', FALSE);
+      $params['case_type_id'] = array_search($params['case_type'], $caseTypeLabels);
+      $params['case_type'] = $caseTypes[$params['case_type_id']]; // label => name
+    }
   }
   elseif (empty($params['case_type'])) {
     $params['case_type'] = $caseTypes[$params['case_type_id']];