3 +--------------------------------------------------------------------+
4 | Copyright CiviCRM LLC. All rights reserved. |
6 | This work is published under the GNU AGPLv3 license with some |
7 | permitted exceptions and without any warranty. For full license |
8 | and copyright information, see https://civicrm.org/licensing |
9 +--------------------------------------------------------------------+
13 * This api exposes CiviCRM CaseContact records.
15 * @package CiviCRM_APIv3
21 * @param array $params
25 function civicrm_api3_case_contact_create($params) {
26 return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__
), $params, 'CaseContact');
30 * @param array $fields
32 function _civicrm_api3_case_contact_create_spec(&$fields) {
33 $fields['contact_id']['api.required'] = $fields['case_id']['api.required'] = 1;
39 * @param array $params
42 * Array of retrieved case_contact property values.
44 function civicrm_api3_case_contact_get($params) {
45 return _civicrm_api3_basic_get(_civicrm_api3_get_BAO(__FUNCTION__
), $params);
49 * Delete a CaseContact.
51 * @param array $params
54 * Array of deleted values.
56 function civicrm_api3_case_contact_delete($params) {
57 return _civicrm_api3_basic_delete(_civicrm_api3_get_BAO(__FUNCTION__
), $params);
61 * Results formatting for Case entityRef lookups.
63 * @param array $result
64 * @param array $request
65 * @param string $entity
66 * @param array $fields
70 function _civicrm_api3_case_contact_getlist_output($result, $request, $entity, $fields) {
72 if (!empty($result['values'])) {
73 foreach ($result['values'] as $row) {
75 'id' => $row[$request['id_field']],
76 'label' => $row[$request['label_field']] . ' - ' . $row['case_id.case_type_id.title'],
78 $status = CRM_Core_PseudoConstant
::getLabel('CRM_Case_BAO_Case', 'status_id', $row['case_id.status_id']);
79 $date = CRM_Utils_Date
::customFormat($row['case_id.start_date']);
80 $data['description'] = [
81 "#{$row['case_id']}: $status " . ts('(opened %1)', [1 => $date]),
82 $row['case_id.subject'],
84 if (!empty($request['image_field'])) {
85 $data['image'] = $row[$request['image_field']] ??
'';