From 2d648297bb97f0d38f2ab5d89f69ae8759996202 Mon Sep 17 00:00:00 2001 From: "deb.monish" Date: Wed, 5 Apr 2017 17:36:36 +0530 Subject: [PATCH] minor --- CRM/Activity/BAO/Activity.php | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/CRM/Activity/BAO/Activity.php b/CRM/Activity/BAO/Activity.php index e990994d56..e1b13582ce 100644 --- a/CRM/Activity/BAO/Activity.php +++ b/CRM/Activity/BAO/Activity.php @@ -730,15 +730,15 @@ class CRM_Activity_BAO_Activity extends CRM_Activity_DAO_Activity { $activityParams['activity_type_id'] = array('IN' => array_keys($activityTypes)); } + $excludeActivityIDs = array(); if (!empty($params['activity_type_exclude_id'])) { if (is_array($params['activity_type_exclude_id'])) { foreach ($params['activity_type_exclude_id'] as $idx => $value) { - $params['activity_type_exclude_id'][$idx] = CRM_Utils_Type::escape($value, 'Positive'); + $excludeActivityIDs[$idx] = CRM_Utils_Type::escape($value, 'Positive'); } - $activityParams['activity_type_id'] = array('NOT IN' => $params['activity_type_exclude_id']); } else { - $activityParams['activity_type_id'] = array('!=' => CRM_Utils_Type::escape($params['activity_type_exclude_id'], 'Positive')); + $excludeActivityIDs[] = CRM_Utils_Type::escape($params['activity_type_exclude_id'], 'Positive'); } } @@ -747,6 +747,10 @@ class CRM_Activity_BAO_Activity extends CRM_Activity_DAO_Activity { ) { $activityParams['options']['limit'] = $params['rowCount']; } + // set limit = 0 if we need to fetch the activity count + elseif ($getCount) { + $activityParams['options']['limit'] = 0; + } if (!empty($params['sort'])) { if (is_a($params['sort'], 'CRM_Utils_Sort')) { @@ -797,8 +801,10 @@ class CRM_Activity_BAO_Activity extends CRM_Activity_DAO_Activity { ); foreach ($result['values'] as $id => $activity) { - // skip case activities if CiviCase is not enabled - if (!empty($activity['case_id']) && !in_array('CiviCase', $enabledComponents)) { + // skip case activities if CiviCase is not enabled OR those actvities which are + if ((!empty($activity['case_id']) && !in_array('CiviCase', $enabledComponents)) || + (count($excludeActivityIDs) && in_array($activity['activity_type_id'], $excludeActivityIDs)) + ) { continue; } -- 2.25.1