From ecc1e0efed2f199297b58705ada2a1b0931a234a Mon Sep 17 00:00:00 2001 From: Pradeep Nayak Date: Mon, 25 Mar 2013 21:33:56 +0530 Subject: [PATCH] --fixed filtering for CRM-12192 --- CRM/Financial/BAO/FinancialTypeAccount.php | 15 ++++++++------- CRM/Financial/Page/FinancialType.php | 9 ++++++--- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/CRM/Financial/BAO/FinancialTypeAccount.php b/CRM/Financial/BAO/FinancialTypeAccount.php index 3a6899d74a..8626f898e5 100644 --- a/CRM/Financial/BAO/FinancialTypeAccount.php +++ b/CRM/Financial/BAO/FinancialTypeAccount.php @@ -64,14 +64,15 @@ class CRM_Financial_BAO_FinancialTypeAccount extends CRM_Financial_DAO_EntityFin * @access public * @static */ - static function retrieve( &$params, &$defaults ) { - $financialTypeAccount = new CRM_Financial_DAO_EntityFinancialAccount( ); - $financialTypeAccount->copyValues( $params ); - if ( $financialTypeAccount->find( true ) ) { - CRM_Core_DAO::storeValues( $financialTypeAccount, $defaults ); - return $financialTypeAccount; + static function retrieve(&$params, &$defaults, &$allValues = array()) { + $financialTypeAccount = new CRM_Financial_DAO_EntityFinancialAccount(); + $financialTypeAccount->copyValues($params); + $financialTypeAccount->find(); + while ($financialTypeAccount->fetch()) { + CRM_Core_DAO::storeValues($financialTypeAccount, $defaults); + $allValues[] = $defaults; } - return null; + return $defaults; } /** diff --git a/CRM/Financial/Page/FinancialType.php b/CRM/Financial/Page/FinancialType.php index b5b6a6e887..47ccc983bc 100644 --- a/CRM/Financial/Page/FinancialType.php +++ b/CRM/Financial/Page/FinancialType.php @@ -145,9 +145,12 @@ class CRM_Financial_Page_FinancialType extends CRM_Core_Page_Basic { $financialType[$dao->id] = array(); CRM_Core_DAO::storeValues( $dao, $financialType[$dao->id]); $defaults = $financialAccountId = array(); - $financialAccounts = CRM_Contribute_PseudoConstant::financialAccount( ); - $financialAccountIds = CRM_Core_DAO::commonRetrieveAll( 'CRM_Financial_DAO_EntityFinancialAccount', - 'entity_id', $dao->id, $defaults, array('financial_account_id')); + $financialAccounts = CRM_Contribute_PseudoConstant::financialAccount(); + $financialAccountIds = array(); + + $params['entity_id'] = $dao->id; + $params['entity_table'] = 'civicrm_financial_type'; + CRM_Financial_BAO_FinancialTypeAccount::retrieve($params, CRM_Core_DAO::$_nullArray, $financialAccountIds); foreach( $financialAccountIds as $key => $values){ if (CRM_Utils_Array::value($values['financial_account_id'], $financialAccounts)) { -- 2.25.1