From cbfbab2f1787bfe4ba926041203af1e9da20e78c Mon Sep 17 00:00:00 2001 From: Edsel Date: Thu, 16 Apr 2015 19:10:00 +0530 Subject: [PATCH] CIVI-28 Added lineitem FT and contribution FT perms in Top Doonor report --- CRM/Report/Form/Contribute/TopDonor.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/CRM/Report/Form/Contribute/TopDonor.php b/CRM/Report/Form/Contribute/TopDonor.php index 677731180b..e62de22579 100644 --- a/CRM/Report/Form/Contribute/TopDonor.php +++ b/CRM/Report/Form/Contribute/TopDonor.php @@ -113,6 +113,9 @@ class CRM_Report_Form_Contribute_TopDonor extends CRM_Report_Form { ), ), ), + 'civicrm_line_item' => array( + 'dao' => 'CRM_Price_DAO_LineItem', + ), ); $this->_columns += $this->getAddressColumns(); $this->_columns += array( @@ -172,7 +175,7 @@ class CRM_Report_Form_Contribute_TopDonor extends CRM_Report_Form { 'name' => 'financial_type_id', 'title' => ts('Financial Type'), 'operatorType' => CRM_Report_Form::OP_MULTISELECT, - 'options' => CRM_Contribute_PseudoConstant::financialType(), + 'options' => CRM_Financial_BAO_FinancialType::getAvailableFinancialTypes(), ), 'contribution_status_id' => array( 'title' => ts('Contribution Status'), @@ -309,6 +312,9 @@ class CRM_Report_Form_Contribute_TopDonor extends CRM_Report_Form { LEFT JOIN civicrm_phone {$this->_aliases['civicrm_phone']} ON {$this->_aliases['civicrm_contact']}.id = {$this->_aliases['civicrm_phone']}.contact_id AND {$this->_aliases['civicrm_phone']}.is_primary = 1 + LEFT JOIN civicrm_line_item {$this->_aliases['civicrm_line_item']} + ON {$this->_aliases['civicrm_contribution']}.id = {$this->_aliases['civicrm_line_item']}.contribution_id AND + {$this->_aliases['civicrm_line_item']}.entity_table = 'civicrm_contribution' "; $this->addAddressFromClause(); } @@ -364,6 +370,9 @@ class CRM_Report_Form_Contribute_TopDonor extends CRM_Report_Form { if ($this->_aclWhere) { $this->_where .= " AND {$this->_aclWhere} "; } + CRM_Financial_BAO_FinancialType::getAvailableFinancialTypes($financialTypes); + $this->_where .= " AND {$this->_aliases['civicrm_contribution']}.financial_type_id IN (" . implode(',' , array_keys($financialTypes)) . ")"; + $this->_where .= " AND {$this->_aliases['civicrm_line_item']}.financial_type_id IN (" . implode(',' , array_keys($financialTypes)) . ")"; } public function groupBy() { -- 2.25.1