Use Case form for case actions
[civicrm-core.git] / CRM / Activity / Page / AJAX.php
index 1998fbc5d1e11b11a3d47d247bdf957b0ac7743f..4f85789576b532f7e7ead274e74aed88faaebe84 100644 (file)
@@ -178,6 +178,7 @@ class CRM_Activity_Page_AJAX {
           $relClient['phone'] = $clientRole['phone'];
           $relClient['email'] = $clientRole['email'];
           $relClient['cid'] = $clientRole['contact_id'];
+          $relClient['end_date'] = '';
           $relClient['source'] = 'contact';
           $caseRelationships[] = $relClient;
         }
@@ -216,7 +217,7 @@ class CRM_Activity_Page_AJAX {
       }
       // email column links/icon
       if ($row['email']) {
-        $row['email'] = '<a class="crm-hover-button crm-popup" href="' . CRM_Utils_System::url('civicrm/activity/email/add', 'reset=1&action=add&atype=3&cid=' . $row['cid']) . '&caseid=' . $caseID . '" title="' . ts('Send an Email') . '"><i class="crm-i fa-envelope" aria-hidden="true"></i></a>';
+        $row['email'] = '<a class="crm-hover-button crm-popup" href="' . CRM_Utils_System::url('civicrm/case/email/add', 'reset=1&action=add&atype=3&cid=' . $row['cid']) . '&caseid=' . $caseID . '" title="' . ts('Send an Email') . '"><i class="crm-i fa-envelope" aria-hidden="true"></i></a>';
       }
 
       // view end date if set
@@ -420,6 +421,8 @@ class CRM_Activity_Page_AJAX {
 
     $params = CRM_Core_Page_AJAX::defaultSortAndPagerParams();
     $params += CRM_Core_Page_AJAX::validateParams($requiredParameters, $optionalParameters);
+    // $params will be modified later on, need to save original filters
+    $filterParams = $params;
 
     // To be consistent, the cid parameter should be renamed to contact_id in
     // the template file, see templates/CRM/Activity/Selector/Selector.tpl
@@ -439,6 +442,7 @@ class CRM_Activity_Page_AJAX {
 
     // store the activity filter preference CRM-11761
     if (Civi::settings()->get('preserve_activity_tab_filter') && ($userID = CRM_Core_Session::getLoggedInContactID())) {
+      $activityFilter = [];
       unset($optionalParameters['context']);
       foreach ($optionalParameters as $searchField => $dataType) {
         $formSearchField = $searchField;
@@ -448,8 +452,8 @@ class CRM_Activity_Page_AJAX {
         elseif ($searchField === 'activity_type_exclude_id') {
           $formSearchField = 'activity_type_exclude_filter_id';
         }
-        if (!empty($params[$searchField])) {
-          $activityFilter[$formSearchField] = $params[$searchField];
+        if (!empty($filterParams[$searchField])) {
+          $activityFilter[$formSearchField] = $filterParams[$searchField];
           if (in_array($searchField, ['activity_date_time_low', 'activity_date_time_high'])) {
             $activityFilter['activity_date_time_relative'] = 0;
           }