CRM-16945 fix - Groups tab shows duplicate groups when a contact has been hard-added...
authormonishdeb <monish.deb@webaccessglobal.com>
Mon, 3 Aug 2015 05:40:31 +0000 (11:10 +0530)
committermonishdeb <monish.deb@webaccessglobal.com>
Mon, 3 Aug 2015 05:40:31 +0000 (11:10 +0530)
https://issues.civicrm.org/jira/browse/CRM-16945

CRM/Contact/BAO/GroupContact.php

index 2a564f3febed09ababe1531805937839920afe0b..23a96a75aeff823e9d3b1ea8e7db13633f05d5a5 100644 (file)
@@ -351,7 +351,7 @@ class CRM_Contact_BAO_GroupContact extends CRM_Contact_DAO_GroupContact {
                     civicrm_subscription_history.method as method';
     }
 
-    $where = " WHERE contact_a.id = %1 AND civicrm_group.is_active = 1 AND civicrm_group.saved_search_id IS NULL";
+    $where = " WHERE contact_a.id = %1 AND civicrm_group.is_active = 1";
 
     if ($excludeHidden) {
       $where .= " AND civicrm_group.is_hidden = 0 ";
@@ -381,6 +381,10 @@ class CRM_Contact_BAO_GroupContact extends CRM_Contact_DAO_GroupContact {
 
     $from = CRM_Contact_BAO_Query::fromClause($tables);
 
+    //CRM-16945: seems hackish but as per CRM-16483 of using group criteria for Search Builder it is mandatory
+    //to include group_contact_cache clause when group table is present, so following code remove duplicacy
+    $from = str_replace("OR civicrm_group.id = civicrm_group_contact_cache.group_id", '', $from);
+
     $where .= " AND $permission ";
 
     if ($onlyPublicGroups) {