From 0ad79dcdc65e46cd1dabfde91b10b587c6d446b0 Mon Sep 17 00:00:00 2001 From: eileen Date: Fri, 31 Jan 2020 23:33:22 +1300 Subject: [PATCH] Update interaction with contribution_invoice_settings Per https://github.com/civicrm/civicrm-core/pull/16424 --- CRM/Lineitemedit/Util.php | 15 ++++++--------- info.xml | 6 +++--- lineitemedit.php | 2 +- .../phpunit/CRM/Lineitemedit/Form/BaseTest.php | 18 +++++++----------- 4 files changed, 17 insertions(+), 24 deletions(-) diff --git a/CRM/Lineitemedit/Util.php b/CRM/Lineitemedit/Util.php index 58bc03d..7ecb894 100644 --- a/CRM/Lineitemedit/Util.php +++ b/CRM/Lineitemedit/Util.php @@ -197,7 +197,7 @@ public static function insertFinancialItemOnAdd($lineItem, $trxn) { // create financial item for added line item $newFinancialItemDAO = CRM_Financial_BAO_FinancialItem::create($newFinancialItem, NULL, $trxnId); if (!empty($lineItem['tax_amount']) && $lineItem['tax_amount'] != 0) { - $taxTerm = CRM_Utils_Array::value('tax_term', Civi::settings()->get('contribution_invoice_settings')); + $taxTerm = Civi::settings()->get('tax_term'); $taxFinancialItemInfo = array_merge($newFinancialItem, array( 'amount' => $lineItem['tax_amount'], 'description' => $taxTerm, @@ -379,9 +379,8 @@ public static function getPriceFieldInfo() { $priceFieldValueInfo = civicrm_api3('PriceFieldValue', 'getsingle', array('id' => $priceFieldValueID)); // calculate tax amount - $contributeSettings = Civi::settings()->get('contribution_invoice_settings'); $taxRates = CRM_Core_PseudoConstant::getTaxRates(); - if (!empty($contributeSettings['invoicing']) && + if (Civi::settings()->get('invoicing') && array_key_exists($priceFieldValueInfo['financial_type_id'], $taxRates) ) { $taxRate = $taxRates[$priceFieldValueInfo['financial_type_id']]; @@ -424,8 +423,7 @@ public static function getLineitemFieldNames($isAddItem = FALSE) { } // if tax is enabled append tax_amount field name - $contributeSettings = Civi::settings()->get('contribution_invoice_settings'); - if (!empty($contributeSettings['invoicing'])) { + if (Civi::settings()->get('invoicing')) { $fieldNames = array_merge($fieldNames, array('tax_amount')); } @@ -664,7 +662,7 @@ public static function recordChangeInAmount( $financialItem['financial_account_id'] = CRM_Contribute_PseudoConstant::getRelationalFinancialAccount($lineItem['financial_type_id'], $accountRelName); $ftItem = CRM_Financial_BAO_FinancialItem::create($financialItem, NULL, $trxnId); if ($taxAmountChanged && $balanceTaxAmount != 0) { - $taxTerm = CRM_Utils_Array::value('tax_term', Civi::settings()->get('contribution_invoice_settings')); + $taxTerm = Civi::settings()->get('tax_term'); $taxFinancialItemInfo = array_merge($financialItem, array( 'amount' => $balanceTaxAmount, 'description' => $taxTerm, @@ -726,7 +724,7 @@ public static function recordChangeInFT( $trxnId = array('id' => $trxnId); $ftItem = CRM_Financial_BAO_FinancialItem::create($financialItem, NULL, $trxnId); if ($values['tax_amount'] != 0) { - $taxTerm = CRM_Utils_Array::value('tax_term', Civi::settings()->get('contribution_invoice_settings')); + $taxTerm = Civi::settings()->get('tax_term'); $taxFinancialItemInfo = array_merge($financialItem, array( 'amount' => $values['tax_amount'], 'description' => $taxTerm, @@ -922,8 +920,7 @@ public static function buildLineItemRows(&$form, $contributionID = NULL) { } } } - $contributeSettings = Civi::settings()->get('contribution_invoice_settings'); - $form->assign('taxEnabled', (!empty($contributeSettings['invoicing']))); + $form->assign('taxEnabled', Civi::settings()->get('invoicing')); $form->assign('taxRates', json_encode(CRM_Core_PseudoConstant::getTaxRates())); $form->assign('lineItemSubmitted', json_encode($submittedValues)); } diff --git a/info.xml b/info.xml index e1c81e0..5291d2d 100644 --- a/info.xml +++ b/info.xml @@ -14,11 +14,11 @@ https://github.com/JMAConsulting/biz.jmaconsulting.lineitemedit/issues http://www.gnu.org/licenses/agpl-3.0.html - 2019-06-24 - 2.2 + 2020-02-01 + 2.3 stable - 5.13 + 5.23 This extension allows a backend user to add, edit and cancel line item(s) associated with a Contribution. diff --git a/lineitemedit.php b/lineitemedit.php index eb89fb8..5349d5c 100644 --- a/lineitemedit.php +++ b/lineitemedit.php @@ -191,7 +191,7 @@ function lineitemedit_civicrm_pre($op, $entity, $entityID, &$params) { if ($entity == 'Contribution') { if ($op == 'create' && empty($params['price_set_id'])) { $lineItemParams = []; - $taxEnabled = (bool) CRM_Utils_Array::value('invoicing', Civi::settings()->get('contribution_invoice_settings')); + $taxEnabled = (bool) Civi::settings()->get('invoicing'); for ($i = 0; $i <= 10; $i++) { $lineItemParams[$i] = []; $notFound = TRUE; diff --git a/tests/phpunit/CRM/Lineitemedit/Form/BaseTest.php b/tests/phpunit/CRM/Lineitemedit/Form/BaseTest.php index d64fbf5..d4fc662 100644 --- a/tests/phpunit/CRM/Lineitemedit/Form/BaseTest.php +++ b/tests/phpunit/CRM/Lineitemedit/Form/BaseTest.php @@ -327,28 +327,24 @@ protected function enableTaxAndInvoicing($params = array()) { 'invoicing' => 1, 'invoice_prefix' => 'INV_', 'credit_notes_prefix' => 'CN_', - 'due_date' => 10, - 'due_date_period' => 'days', - 'notes' => '', + 'invoice_due_date' => 10, + 'invoice_due_date_period' => 'days', + 'invoice_notes' => '', 'is_email_pdf' => 1, 'tax_term' => 'Sales Tax', 'tax_display_settings' => 'Inclusive', ) ); - return Civi::settings()->set('contribution_invoice_settings', $contributeSetting); + foreach ($contributeSetting as $key => $value) { + Civi::settings()->set($key, $value); + } } /** * Enable Tax and Invoicing */ protected function disableTaxAndInvoicing($params = array()) { - // Enable component contribute setting - $contributeSetting = array_merge($params, - array( - 'invoicing' => 0, - ) - ); - return Civi::settings()->set('contribution_invoice_settings', $contributeSetting); + return Civi::settings()->set('invoicing', 0); } /**