From 1f76c4cd5a3b64a044f68fc7ff8f74d8c776faf3 Mon Sep 17 00:00:00 2001 From: Edsel Date: Thu, 16 Apr 2015 17:37:31 +0530 Subject: [PATCH] CIVI-28 Added lineitem check in contribution summaryr report --- CRM/Financial/BAO/FinancialType.php | 4 ++-- CRM/Report/Form/Contribute/Summary.php | 9 ++++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CRM/Financial/BAO/FinancialType.php b/CRM/Financial/BAO/FinancialType.php index bb59ac482e..4405bbdd31 100644 --- a/CRM/Financial/BAO/FinancialType.php +++ b/CRM/Financial/BAO/FinancialType.php @@ -234,10 +234,10 @@ class CRM_Financial_BAO_FinancialType extends CRM_Financial_DAO_FinancialType { return $membershipTypes; } - public static function buildPermissionedClause(&$whereClauses, $component = NULL) { + public static function buildPermissionedClause(&$whereClauses, $component = NULL, $alias = NULL) { if (is_array($whereClauses)) { self::getAvailableFinancialTypes($types); - $whereClauses[] = ' financial_type_id IN (' . implode(',' , array_keys($types)) .')'; + $whereClauses[] = ' '.$alias.'.financial_type_id IN (' . implode(',' , array_keys($types)) .')'; } else { if ($component == 'contribution') { diff --git a/CRM/Report/Form/Contribute/Summary.php b/CRM/Report/Form/Contribute/Summary.php index a9b534c682..dedda88088 100644 --- a/CRM/Report/Form/Contribute/Summary.php +++ b/CRM/Report/Form/Contribute/Summary.php @@ -103,6 +103,9 @@ class CRM_Report_Form_Contribute_Summary extends CRM_Report_Form { ), 'grouping' => 'contact-fields', ), + 'civicrm_line_item' => array( + 'dao' => 'CRM_Price_DAO_LineItem', + ), 'civicrm_phone' => array( 'dao' => 'CRM_Core_DAO_Phone', 'fields' => array( @@ -450,6 +453,9 @@ class CRM_Report_Form_Contribute_Summary extends CRM_Report_Form { LEFT JOIN civicrm_email {$this->_aliases['civicrm_email']} ON ({$this->_aliases['civicrm_contact']}.id = {$this->_aliases['civicrm_email']}.contact_id AND {$this->_aliases['civicrm_email']}.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' LEFT JOIN civicrm_phone {$this->_aliases['civicrm_phone']} ON ({$this->_aliases['civicrm_contact']}.id = {$this->_aliases['civicrm_phone']}.contact_id AND @@ -657,7 +663,8 @@ 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); + CRM_Financial_BAO_FinancialType::buildPermissionedClause($this->_whereClauses, NULL, $this->_aliases['civicrm_contribution']); + CRM_Financial_BAO_FinancialType::buildPermissionedClause($this->_whereClauses, NULL, $this->_aliases['civicrm_line_item']); parent::postProcess(); } -- 2.25.1