From 81318f8406d562ccee8a11c8b5d356893e8f3896 Mon Sep 17 00:00:00 2001 From: Edsel Date: Wed, 18 Mar 2015 15:54:29 +0530 Subject: [PATCH] CIVI-28 Added WhereClause for Summary and Detail contribution reports --- CRM/Financial/BAO/FinancialType.php | 8 ++++++++ CRM/Report/Form/Contribute/Detail.php | 1 + CRM/Report/Form/Contribute/Summary.php | 3 ++- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/CRM/Financial/BAO/FinancialType.php b/CRM/Financial/BAO/FinancialType.php index 5a67acf19e..b650679187 100644 --- a/CRM/Financial/BAO/FinancialType.php +++ b/CRM/Financial/BAO/FinancialType.php @@ -217,4 +217,12 @@ class CRM_Financial_BAO_FinancialType extends CRM_Financial_DAO_FinancialType { } return $financialTypes; } + + public static function buildPermissionedClause(&$whereClauses) { + self::getAvailableFinancialTypes($financialType); + foreach ($financialType as $id => $type) { + $ids[] = $id; + } + $whereClauses[] = ' financial_type_id IN (' . implode(',' , $ids) .')'; + } } diff --git a/CRM/Report/Form/Contribute/Detail.php b/CRM/Report/Form/Contribute/Detail.php index 6ff8a83a67..642ca24018 100644 --- a/CRM/Report/Form/Contribute/Detail.php +++ b/CRM/Report/Form/Contribute/Detail.php @@ -582,6 +582,7 @@ GROUP BY {$this->_aliases['civicrm_contribution']}.currency"; public function postProcess() { // get the acl clauses built before we assemble the query $this->buildACLClause($this->_aliases['civicrm_contact']); + CRM_Financial_BAO_FinancialType::buildPermissionedClause($this->_whereClauses); $this->beginPostProcess(); diff --git a/CRM/Report/Form/Contribute/Summary.php b/CRM/Report/Form/Contribute/Summary.php index 1005fbc1a3..53b8d0d0d1 100644 --- a/CRM/Report/Form/Contribute/Summary.php +++ b/CRM/Report/Form/Contribute/Summary.php @@ -534,7 +534,7 @@ class CRM_Report_Form_Contribute_Summary extends CRM_Report_Form { unset($this->_havingClauses[$key]); } } - } + } } /** @@ -657,6 +657,7 @@ ROUND(AVG({$this->_aliases['civicrm_contribution_soft']}.amount), 2) as civicrm_ */ public function postProcess() { $this->buildACLClause($this->_aliases['civicrm_contact']); + CRM_Financial_BAO_FinancialType::buildPermissionedClause($this->_whereClauses); parent::postProcess(); } -- 2.25.1