From b134b8cc3ad82aaa6eb98640df71a8611333d33e Mon Sep 17 00:00:00 2001 From: Edsel Date: Thu, 16 Apr 2015 19:22:32 +0530 Subject: [PATCH] CIVI-28 Added lineitem FT and contribution FT perms in SYBUNT report --- CRM/Report/Form/Contribute/Sybunt.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/CRM/Report/Form/Contribute/Sybunt.php b/CRM/Report/Form/Contribute/Sybunt.php index 4a6224f88f..acbf05f7cb 100644 --- a/CRM/Report/Form/Contribute/Sybunt.php +++ b/CRM/Report/Form/Contribute/Sybunt.php @@ -166,6 +166,9 @@ class CRM_Report_Form_Contribute_Sybunt extends CRM_Report_Form { ), ), ), + 'civicrm_line_item' => array( + 'dao' => 'CRM_Price_DAO_LineItem', + ), 'civicrm_email' => array( 'dao' => 'CRM_Core_DAO_Email', 'grouping' => 'contact-field', @@ -222,7 +225,7 @@ class CRM_Report_Form_Contribute_Sybunt extends CRM_Report_Form { 'financial_type_id' => array( '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'), @@ -316,7 +319,10 @@ class CRM_Report_Form_Contribute_Sybunt extends CRM_Report_Form { FROM civicrm_contribution {$this->_aliases['civicrm_contribution']} INNER JOIN civicrm_contact {$this->_aliases['civicrm_contact']} ON {$this->_aliases['civicrm_contact']}.id = {$this->_aliases['civicrm_contribution']}.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 AND + {$this->_aliases['civicrm_line_item']}.entity_table = 'civicrm_contribution'"; if ($this->isTableSelected('civicrm_email')) { $this->_from .= " @@ -386,6 +392,9 @@ class CRM_Report_Form_Contribute_Sybunt 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