dev/core#1745 Fix caching bug when adding a contact to a group
authoreileen <emcnaughton@wikimedia.org>
Fri, 29 May 2020 00:11:38 +0000 (12:11 +1200)
committereileen <emcnaughton@wikimedia.org>
Fri, 29 May 2020 00:14:28 +0000 (12:14 +1200)
CRM/Contact/BAO/GroupContact.php

index 3914a1c3667d1cca5c6ef2163ea4115b081d6285..9058101d05165675a6ff8c4e39ec8c6559218082 100644 (file)
@@ -129,14 +129,13 @@ class CRM_Contact_BAO_GroupContact extends CRM_Contact_DAO_GroupContact {
 
     CRM_Utils_Hook::pre('create', 'GroupContact', $groupId, $contactIds);
 
-    list($numContactsAdded, $numContactsNotAdded)
-      = self::bulkAddContactsToGroup($contactIds, $groupId, $method, $status, $tracking);
-
+    $result = self::bulkAddContactsToGroup($contactIds, $groupId, $method, $status, $tracking);
+    CRM_Contact_BAO_GroupContactCache::invalidateGroupContactCache($groupId);
     CRM_Contact_BAO_Contact_Utils::clearContactCaches();
 
     CRM_Utils_Hook::post('create', 'GroupContact', $groupId, $contactIds);
 
-    return [count($contactIds), $numContactsAdded, $numContactsNotAdded];
+    return [count($contactIds), $result['count_added'], $result['count_not_added']];
   }
 
   /**
@@ -763,7 +762,7 @@ AND    contact_id IN ( $contactStr )
       }
     }
 
-    return [$numContactsAdded, $numContactsNotAdded];
+    return ['count_added' => $numContactsAdded, 'count_not_added' => $numContactsNotAdded];
   }
 
   /**