/*
+--------------------------------------------------------------------+
- | CiviCRM version 4.5 |
+ | CiviCRM version 4.6 |
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC (c) 2004-2014 |
+--------------------------------------------------------------------+
/**
* Open a new case, add client and manager roles, and add standard timeline
*
- * @param array (
+ * @param array (
* //REQUIRED:
* 'case_type_id' => int OR
* 'case_type' => str (provide one or the other)
* 'details' => str // html format
*
* @throws API_Exception
- * @return array api result array
+ * @return array
+ * api result array
*
* @access public
* {@getfields case_create}
/**
* Adjust Metadata for Get Action
*
- * @param array $params array or parameters determined by getfields
+ * @param array $params
+ * Array or parameters determined by getfields.
*/
function _civicrm_api3_case_get_spec(&$params) {
$params['contact_id']['api.aliases'] = array('client_id');
/**
* Adjust Metadata for Create Action
*
- * @param array $params array or parameters determined by getfields
+ * @param array $params
+ * Array or parameters determined by getfields.
*/
function _civicrm_api3_case_create_spec(&$params) {
$params['contact_id']['api.aliases'] = array('client_id');
$params['contact_id']['title'] = 'Case Client';
$params['contact_id']['api.required'] = 1;
$params['status_id']['api.default'] = 1;
+ $params['status_id']['api.aliases'] = array('case_status');
$params['creator_id']['api.default'] = 'user_contact_id';
$params['creator_id']['type'] = CRM_Utils_Type::T_INT;
$params['creator_id']['title'] = 'Case Created By';
/**
* Adjust Metadata for Update action
*
- * @param array $params array or parameters determined by getfields
+ * @param array $params
+ * Array or parameters determined by getfields.
*/
function _civicrm_api3_case_update_spec(&$params) {
$params['id']['api.required'] = 1;
/**
* Adjust Metadata for Delete action
*
- * @param array $params array or parameters determined by getfields
+ * @param array $params
+ * Array or parameters determined by getfields.
*/
function _civicrm_api3_case_delete_spec(&$params) {
$params['id']['api.required'] = 1;
* {@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
+ * @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
*/
function civicrm_api3_case_get($params) {
}
//search by contacts
- if ($contact = CRM_Utils_Array::value('contact_id', $params)) {
+ if (($contact = CRM_Utils_Array::value('contact_id', $params)) != FALSE) {
if (!is_numeric($contact)) {
throw new API_Exception('Invalid parameter: contact_id. Must provide a numeric value.');
}
$options['return'] = array('contacts' => 1, 'activities' => 1);
}
- $foundcases = _civicrm_api3_basic_get(_civicrm_api3_get_BAO(__FUNCTION__), $params, TRUE, 'Case');
+ $foundcases = _civicrm_api3_basic_get(_civicrm_api3_get_BAO(__FUNCTION__), $params, TRUE, 'Case');
$cases = array();
foreach ($foundcases['values'] as $foundcase) {
- if ($case = _civicrm_api3_case_read($foundcase['id'], $options)) {
- $cases[$foundcase['id']] = $case;
- }
+ if ($case = _civicrm_api3_case_read($foundcase['id'], $options)) {
+ $cases[$foundcase['id']] = $case;
}
+ }
return civicrm_api3_create_success($cases, $params, 'case', 'get');
}
/**
* Deprecated. Use activity API instead
+ *
+ * @param array $params
+ *
+ * @throws API_Exception
+ * @return array
*/
function civicrm_api3_case_activity_create($params) {
- return civicrm_api3_activity_create($params);
+ require_once "api/v3/Activity.php";
+ return civicrm_api3_activity_create($params) + array(
+ 'deprecated' => CRM_Utils_Array::value('activity_create', _civicrm_api3_case_deprecation()),
+ );
+}
+
+/**
+ * @deprecated api notice
+ * @return array
+ * of deprecated actions
+ */
+function _civicrm_api3_case_deprecation() {
+ return array('activity_create' => 'Case api "activity_create" action is deprecated. Use the activity api instead.');
}
/**
* Update a specified case.
*
- * @param array (
+ * @param array (
* //REQUIRED:
* 'case_id' => int
*
* 'contact_id' => int // case client
*
* @throws API_Exception
- * @return array api result array
+ * @return array
+ * api result array
*
* @access public
*/
$case = array();
_civicrm_api3_object_to_array($dao, $case);
+ $values[$dao->id] = $case;
- return civicrm_api3_create_success($case, $params, 'case', 'update', $dao);
+ return civicrm_api3_create_success($values, $params, 'case', 'update', $dao);
}
/**
* Delete a specified case.
*
- * @param array (
+ * @param array (
* //REQUIRED:
* 'id' => int
*
* 'move_to_trash' => bool (defaults to false)
*
* @throws API_Exception
- * @return boolean: true if success, else false
+ * @return boolean
+ * true if success, else false
* {@getfields case_delete}
* @access public
*/
*
* @param $options
*
- * @internal param $params
- *
- * @internal param $options
- *
- * @return array (reference) case object
+ * @return array
+ * case object
*/
function _civicrm_api3_case_read($caseId, $options) {
$return = CRM_Utils_Array::value('return', $options, array());
/**
* Internal function to format create params for processing
+ *
+ * @param array $params
*/
function _civicrm_api3_case_format_params(&$params) {
// figure out case type id from case type and vice-versa