From: Edsel Date: Wed, 1 Mar 2017 11:57:58 +0000 (+0530) Subject: CRM-20169 Modified activity report to use buildpermissionclause function X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=52272965fd6c0a934d7726eb2d85c59bbe689368;p=civicrm-core.git CRM-20169 Modified activity report to use buildpermissionclause function ---------------------------------------- * CRM-20169: Add support for alterReportVar hook in Activity Report https://issues.civicrm.org/jira/browse/CRM-20169 --- diff --git a/CRM/Report/Form/Activity.php b/CRM/Report/Form/Activity.php index 820b6f6d1e..63e1698038 100644 --- a/CRM/Report/Form/Activity.php +++ b/CRM/Report/Form/Activity.php @@ -779,6 +779,8 @@ GROUP BY civicrm_activity_id $having {$this->_orderBy}"; $this->_formValues["activity_date_time_relative"] = NULL; } $this->beginPostProcess(); + $activityContacts = CRM_Core_OptionGroup::values('activity_contacts', FALSE, FALSE, FALSE, NULL, 'name'); + $sourceID = CRM_Utils_Array::key('Activity Source', $activityContacts); //Assign those recordtype to array which have filter operator as 'Is not empty' or 'Is empty' $nullFilters = array(); @@ -860,9 +862,18 @@ GROUP BY civicrm_activity_id $having {$this->_orderBy}"; } $this->limit(); $groupByFromSelect = CRM_Contact_BAO_Query::getGroupByFromSelectColumns($this->_selectClauses, 'civicrm_activity_id'); + + $this->_aclWhere = ""; + $this->buildPermissionClause(); + $sql = "{$this->_select} -FROM civireport_activity_temp_target tar -{$groupByFromSelect} {$this->_having} {$this->_orderBy} {$this->_limit}"; + FROM civireport_activity_temp_target tar + INNER JOIN civicrm_activity {$this->_aliases['civicrm_activity']} ON {$this->_aliases['civicrm_activity']}.id = tar.civicrm_activity_id + INNER JOIN civicrm_activity_contact {$this->_aliases['civicrm_activity_contact']} ON {$this->_aliases['civicrm_activity_contact']}.activity_id = {$this->_aliases['civicrm_activity']}.id + AND {$this->_aliases['civicrm_activity_contact']}.record_type_id = {$sourceID} + LEFT JOIN civicrm_contact contact_civireport ON contact_civireport.id = {$this->_aliases['civicrm_activity_contact']}.contact_id + WHERE {$this->_aclWhere} {$groupByFromSelect} {$this->_having} {$this->_orderBy} {$this->_limit}"; + $this->buildRows($sql, $rows); // format result set.