From 07376a085258f200ac28ba2b1ffb32a9b8d92603 Mon Sep 17 00:00:00 2001 From: eileen Date: Thu, 10 Oct 2019 11:21:14 +0200 Subject: [PATCH] Replace deprecated function call with a more readable alternative This adds a wrapper to getting financial accounts with the type. We could call the other directly but it's less readable & requires the account name to be specified which feels like a look-up for devs --- CRM/Contribute/BAO/Contribution.php | 5 +---- CRM/Financial/BAO/FinancialAccount.php | 13 +++++++++++++ CRM/Financial/Form/FinancialAccount.php | 1 + CRM/Financial/Form/FinancialTypeAccount.php | 1 + 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/CRM/Contribute/BAO/Contribution.php b/CRM/Contribute/BAO/Contribution.php index 9c3a52b2e10c..de4503e9351e 100644 --- a/CRM/Contribute/BAO/Contribution.php +++ b/CRM/Contribute/BAO/Contribution.php @@ -3786,10 +3786,7 @@ public static function updateFinancialAccounts(&$params, $context = NULL) { $itemParams['amount'] = self::getMultiplier($params['contribution']->contribution_status_id, $context) * $taxAmount; $itemParams['description'] = $taxTerm; if ($lineItemDetails['financial_type_id']) { - $itemParams['financial_account_id'] = CRM_Contribute_PseudoConstant::getRelationalFinancialAccount( - $lineItemDetails['financial_type_id'], - 'Sales Tax Account is' - ); + $itemParams['financial_account_id'] = CRM_Financial_BAO_FinancialAccount::getSalesTaxFinancialAccount($lineItemDetails['financial_type_id']); } CRM_Financial_BAO_FinancialItem::create($itemParams, NULL, $trxnIds); } diff --git a/CRM/Financial/BAO/FinancialAccount.php b/CRM/Financial/BAO/FinancialAccount.php index 85afbee9deb7..af012f8c9836 100644 --- a/CRM/Financial/BAO/FinancialAccount.php +++ b/CRM/Financial/BAO/FinancialAccount.php @@ -270,6 +270,19 @@ public static function getFinancialAccountForFinancialTypeByRelationship($financ return Civi::$statics[__CLASS__]['entity_financial_account'][$financialTypeID][$relationTypeId]; } + /** + * Get the sales tax financial account id for the financial type id. + * + * This is a helper wrapper to make the function name more readable. + * + * @param int $financialAccountID + * + * @return int + */ + public static function getSalesTaxFinancialAccount($financialAccountID) { + return self::getFinancialAccountForFinancialTypeByRelationship($financialAccountID, 'Sales Tax Account is'); + } + /** * Get Financial Account type relations. * diff --git a/CRM/Financial/Form/FinancialAccount.php b/CRM/Financial/Form/FinancialAccount.php index 724059888435..098e9dcb4cc0 100644 --- a/CRM/Financial/Form/FinancialAccount.php +++ b/CRM/Financial/Form/FinancialAccount.php @@ -154,6 +154,7 @@ public static function formRule($values, $files, $self) { } if ($self->_action & CRM_Core_Action::UPDATE) { if (!(isset($values['is_tax']))) { + // @todo replace with call to CRM_Financial_BAO_FinancialAccount getSalesTaxFinancialAccount $relationshipId = key(CRM_Core_PseudoConstant::accountOptionValues('account_relationship', NULL, " AND v.name LIKE 'Sales Tax Account is' ")); $params = [ 'financial_account_id' => $self->_id, diff --git a/CRM/Financial/Form/FinancialTypeAccount.php b/CRM/Financial/Form/FinancialTypeAccount.php index 3ac1bd169660..b6834aac46e9 100644 --- a/CRM/Financial/Form/FinancialTypeAccount.php +++ b/CRM/Financial/Form/FinancialTypeAccount.php @@ -244,6 +244,7 @@ public static function formRule($values, $files, $self) { ]; $defaults = []; if ($self->_action == CRM_Core_Action::ADD) { + // @todo replace with call to CRM_Financial_BAO_FinancialAccount getSalesTaxFinancialAccount $relationshipId = key(CRM_Core_PseudoConstant::accountOptionValues('account_relationship', NULL, " AND v.name LIKE 'Sales Tax Account is' ")); $isTax = CRM_Core_DAO::getFieldValue('CRM_Financial_DAO_FinancialAccount', $values['financial_account_id'], 'is_tax'); if ($values['account_relationship'] == $relationshipId) {