CRM-19435 Fix
authorAbhishek Jain <abhishek.jain@valuedge.com>
Sat, 1 Oct 2016 13:57:56 +0000 (19:27 +0530)
committerAbhishek Jain <abhishek.jain@valuedge.com>
Sat, 1 Oct 2016 13:57:56 +0000 (19:27 +0530)
CRM/Contact/BAO/GroupContact.php
CRM/Contact/Page/View/GroupContact.php

index c25192a2b1fd547059b4012ee602a7bbf497b8a0..b2f6a84e2097490e83e0702a123fe3f0ab348ebb 100644 (file)
@@ -340,7 +340,8 @@ class CRM_Contact_BAO_GroupContact extends CRM_Contact_DAO_GroupContact {
     $ignorePermission = FALSE,
     $onlyPublicGroups = FALSE,
     $excludeHidden = TRUE,
-    $groupId = NULL
+    $groupId = NULL,
+       $includeSmartGroups = FALSE
   ) {
     if ($count) {
       $select = 'SELECT count(DISTINCT civicrm_group_contact.id)';
@@ -357,8 +358,11 @@ 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 saved_search_id IS NULL";
-
+    $where = " WHERE contact_a.id = %1 AND civicrm_group.is_active = 1";
+       if(!$includeSmartGroups){
+               $where .= " AND saved_search_id IS NULL";
+       }
+    
     if ($excludeHidden) {
       $where .= " AND civicrm_group.is_hidden = 0 ";
     }
index ac8c20d51ca9c43a6927ade19e357f50a3dd84af..330796c4ce23fb3f81ae624f90f76727aad67f1d 100644 (file)
@@ -37,11 +37,11 @@ class CRM_Contact_Page_View_GroupContact extends CRM_Core_Page {
    */
   public function browse() {
 
-    $count = CRM_Contact_BAO_GroupContact::getContactGroup($this->_contactId, NULL, NULL, TRUE);
+    $count = CRM_Contact_BAO_GroupContact::getContactGroup($this->_contactId, NULL, NULL, TRUE, FALSE, FALSE, TRUE, NULL, TRUE);
 
-    $in = CRM_Contact_BAO_GroupContact::getContactGroup($this->_contactId, 'Added');
-    $pending = CRM_Contact_BAO_GroupContact::getContactGroup($this->_contactId, 'Pending');
-    $out = CRM_Contact_BAO_GroupContact::getContactGroup($this->_contactId, 'Removed');
+    $in = CRM_Contact_BAO_GroupContact::getContactGroup($this->_contactId, 'Added', NULL, FALSE, FALSE, FALSE, TRUE, NULL, TRUE);
+    $pending = CRM_Contact_BAO_GroupContact::getContactGroup($this->_contactId, 'Pending', NULL, FALSE, FALSE, FALSE, TRUE, NULL, TRUE);
+    $out = CRM_Contact_BAO_GroupContact::getContactGroup($this->_contactId, 'Removed', NULL, FALSE, FALSE, FALSE, TRUE, NULL, TRUE);
 
     // keep track of all 'added' contact groups so we can remove them from the smart group
     // section