From 8a8e637878022c52bb8ced3889b18d10f2612b03 Mon Sep 17 00:00:00 2001 From: Bob Silvern Date: Tue, 9 Aug 2016 17:33:02 -0700 Subject: [PATCH] CRM-19201 - Search - Add support for searching CiviCampaign and CiviCase activities. ---------------------------------------- * CRM-19201: Cannot search CiviCampaign/CiviCase activities or report CiviCampaign activities https://issues.civicrm.org/jira/browse/CRM-19201 --- CRM/Activity/Selector/Search.php | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/CRM/Activity/Selector/Search.php b/CRM/Activity/Selector/Search.php index c7822ab62b..2e6543e9f0 100644 --- a/CRM/Activity/Selector/Search.php +++ b/CRM/Activity/Selector/Search.php @@ -174,7 +174,26 @@ class CRM_Activity_Selector_Search extends CRM_Core_Selector_Base implements CRM $components = CRM_Core_Component::getNames(); $componentClause = array(); foreach ($components as $componentID => $componentName) { - if (!CRM_Core_Permission::check("access $componentName")) { + // CRM-19201: Add support for searching CiviCampaign and CiviCase + // activities. + // "access all cases and activities" is used here rather than + // "access my cases and activities" to prevent those with only the later + // permission to see a list of all cases which might present a privacy + // issue. + switch ($componentName) { + case 'CiviCase': + $perm = "access all cases and activities"; + break; + + case 'CiviCampaign': + $perm = "administer $componentName"; + break; + + default: + $perm = "access $componentName"; + break; + } + if (!CRM_Core_Permission::check($perm)) { $componentClause[] = " (activity_type.component_id IS NULL OR activity_type.component_id <> {$componentID}) "; } } -- 2.25.1