APIv3 - Fix Case entityRef to exclude deleted cases & contacts
authorColeman Watts <coleman@civicrm.org>
Wed, 19 Oct 2022 15:35:44 +0000 (11:35 -0400)
committerColeman Watts <coleman@civicrm.org>
Wed, 26 Oct 2022 00:26:14 +0000 (20:26 -0400)
CRM/Case/Form/ActivityToCase.php
api/v3/Case.php

index 34eb4fed41489defa63f80d492132a4e7700cd78..fddff50fe3697c76cd67a7fe7cb5ebdd457cdfff 100644 (file)
@@ -98,7 +98,6 @@ class CRM_Case_Form_ActivityToCase extends CRM_Core_Form {
         'extra' => ['contact_id'],
         'params' => [
           'case_id' => ['!=' => $this->_currentCaseId],
-          'case_id.is_deleted' => 0,
           'case_id.status_id' => ['!=' => "Closed"],
           'case_id.end_date' => ['IS NULL' => 1],
         ],
index a4543080c19322adff6fafcf5a15ead5d133d1d1..4651f5c87b75fa8bff3b9db9d7485806b76ec0cb 100644 (file)
@@ -742,6 +742,14 @@ function civicrm_api3_case_getList($params) {
     $params['params']['case_id'] = ['IN' => $params['id']];
     unset($params['id']);
   }
+  if (empty($params['params']['case_id']) || is_array($params['params']['case_id'])) {
+    // Default to hiding deleted cases & deleted contacts
+    $params += ['params' => []];
+    $params['params'] += [
+      'case_id.is_deleted' => 0,
+      'contact_id.is_deleted' => 0,
+    ];
+  }
   $params['id_field'] = 'case_id';
   $params['label_field'] = $params['search_field'] = 'contact_id.sort_name';
   $params['description_field'] = [