X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=api%2Fv3%2FActivity.php;h=784095e0e444c35fa2108d5b4457b440c8a48de6;hb=5d2d8718b77fcf6f74f48f15df7101c79115e975;hp=89402415080ab20af25349c347c453849845280f;hpb=96a959a251daf73ff501434ccb7b351c26f54482;p=civicrm-core.git diff --git a/api/v3/Activity.php b/api/v3/Activity.php index 8940241508..784095e0e4 100644 --- a/api/v3/Activity.php +++ b/api/v3/Activity.php @@ -354,10 +354,11 @@ function civicrm_api3_activity_get($params) { */ function _civicrm_activity_get_handleSourceContactNameOrderBy(&$params, &$options, $sql) { $sourceContactID = CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_ActivityContact', 'record_type_id', 'Activity Source'); - if (!empty($options['sort']) && in_array($options['sort'], [ + if (!empty($options['sort']) + && in_array($options['sort'], [ 'source_contact_name', 'source_contact_name desc', - 'source_contact_name asc' + 'source_contact_name asc', ])) { $order = substr($options['sort'], -4) === 'desc' ? 'desc' : 'asc'; $sql->join( @@ -644,8 +645,10 @@ function _civicrm_api3_activity_fill_activity_contact_names(&$activities, $param 'activity_id', 'record_type_id', 'contact_id.display_name', + 'contact_id.sort_name', 'contact_id', ], + 'options' => ['limit' => 0], 'check_permissions' => !empty($params['check_permissions']), ]; if (count($activityContactTypes) < 3) { @@ -658,10 +661,12 @@ function _civicrm_api3_activity_fill_activity_contact_names(&$activities, $param if (in_array($recordType, ['target', 'assignee'])) { $activities[$activityContact['activity_id']][$recordType . '_contact_id'][] = $contactID; $activities[$activityContact['activity_id']][$recordType . '_contact_name'][$contactID] = isset($activityContact['contact_id.display_name']) ? $activityContact['contact_id.display_name'] : ''; + $activities[$activityContact['activity_id']][$recordType . '_contact_sort_name'][$contactID] = isset($activityContact['contact_id.sort_name']) ? $activityContact['contact_id.sort_name'] : ''; } else { $activities[$activityContact['activity_id']]['source_contact_id'] = $contactID; $activities[$activityContact['activity_id']]['source_contact_name'] = isset($activityContact['contact_id.display_name']) ? $activityContact['contact_id.display_name'] : ''; + $activities[$activityContact['activity_id']]['source_contact_sort_name'] = isset($activityContact['contact_id.sort_name']) ? $activityContact['contact_id.sort_name'] : ''; } } } @@ -801,7 +806,7 @@ function _civicrm_api3_activity_getlist_output($result, $request) { 'id' => $row[$request['id_field']], 'label' => $row[$request['label_field']] ? $row[$request['label_field']] : ts('(no subject)'), 'description' => [ - CRM_Core_Pseudoconstant::getLabel('CRM_Activity_BAO_Activity', 'activity_type_id', $row['activity_type_id']), + CRM_Core_PseudoConstant::getLabel('CRM_Activity_BAO_Activity', 'activity_type_id', $row['activity_type_id']), ], ]; if (!empty($row['activity_date_time'])) {