From 4a39d437f328b339377ad4f66e66029e8eec153e Mon Sep 17 00:00:00 2001 From: Edsel Date: Thu, 16 Apr 2015 17:51:00 +0530 Subject: [PATCH] CIVI-28 Added lineitem check for contribution detail report --- CRM/Report/Form/Contribute/Detail.php | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/CRM/Report/Form/Contribute/Detail.php b/CRM/Report/Form/Contribute/Detail.php index 642ca24018..785cf2e6da 100644 --- a/CRM/Report/Form/Contribute/Detail.php +++ b/CRM/Report/Form/Contribute/Detail.php @@ -163,6 +163,9 @@ class CRM_Report_Form_Contribute_Detail 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( @@ -414,7 +417,10 @@ class CRM_Report_Form_Contribute_Detail extends CRM_Report_Form { $this->_from = " FROM civicrm_contact {$this->_aliases['civicrm_contact']} {$this->_aclFrom} INNER JOIN civicrm_contribution {$this->_aliases['civicrm_contribution']} - ON {$this->_aliases['civicrm_contact']}.id = {$this->_aliases['civicrm_contribution']}.contact_id AND {$this->_aliases['civicrm_contribution']}.is_test = 0"; + ON {$this->_aliases['civicrm_contact']}.id = {$this->_aliases['civicrm_contribution']}.contact_id AND {$this->_aliases['civicrm_contribution']}.is_test = 0 + 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'"; if (CRM_Utils_Array::value('contribution_or_soft_value', $this->_params) == 'both' @@ -438,7 +444,9 @@ class CRM_Report_Form_Contribute_Detail extends CRM_Report_Form { ON contribution_soft_civireport.contribution_id = {$this->_aliases['civicrm_contribution']}.id INNER JOIN civicrm_contact {$this->_aliases['civicrm_contact']} ON {$this->_aliases['civicrm_contact']}.id = contribution_soft_civireport.contact_id - {$this->_aclFrom}"; + {$this->_aclFrom} + LEFT JOIN civicrm_line_item {$this->_aliases['civicrm_line_item']} + ON {$this->_aliases['civicrm_contribution']}.id = {$this->_aliases['civicrm_line_item']}.contribution_id"; } if (!empty($this->_params['ordinality_value'])) { @@ -582,7 +590,8 @@ 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); + 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']); $this->beginPostProcess(); -- 2.25.1