We seem to be checking if the cache needs a rebuild and IF SO doing 2 actions
1) rebuilding it
2) permitting access to contacts related to it
When really it should do only 1) above - this patch changes as such
This seems to be whackamole off https://github.com/civicrm/civicrm-core/pull/12344
going too far one way & https://github.com/civicrm/civicrm-core/pull/13448
fixing but adding this new variant
while ($dao->fetch()) {
$groupIDs[] = $dao->id;
- if (($dao->saved_search_id || $dao->children || $dao->parents) &&
- $dao->cache_date == NULL
- ) {
- CRM_Contact_BAO_GroupContactCache::load($dao);
+ if (($dao->saved_search_id || $dao->children || $dao->parents)) {
+ if ($dao->cache_date == NULL) {
+ CRM_Contact_BAO_GroupContactCache::load($dao);
+ }
$groupContactCacheClause = " UNION SELECT contact_id FROM civicrm_group_contact_cache WHERE group_id IN (" . implode(', ', $groupIDs) . ")";
}