From f8857611980393625c100b068fff8d206d7870ec Mon Sep 17 00:00:00 2001 From: eileen Date: Wed, 21 Nov 2018 23:08:56 +1300 Subject: [PATCH] Fix missing Pay now link --- CRM/Admin/Form/SettingTrait.php | 5 +++-- CRM/Contribute/Page/UserDashboard.php | 4 +--- CRM/Invoicing/Utils.php | 20 +++++++++++++++++++- 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/CRM/Admin/Form/SettingTrait.php b/CRM/Admin/Form/SettingTrait.php index 328cb214a2..a9f5e6ca47 100644 --- a/CRM/Admin/Form/SettingTrait.php +++ b/CRM/Admin/Form/SettingTrait.php @@ -190,8 +190,9 @@ trait CRM_Admin_Form_SettingTrait { $this->$add($setting, ts($props['title']), $options); } // Migrate to using an array as easier in smart... - $descriptions[$setting] = ts($props['description']); - $this->assign("{$setting}_description", ts($props['description'])); + $description = CRM_Utils_Array::value('description', $props); + $descriptions[$setting] = $description; + $this->assign("{$setting}_description", $description); if ($setting == 'max_attachments') { //temp hack @todo fix to get from metadata $this->addRule('max_attachments', ts('Value should be a positive number'), 'positiveInteger'); diff --git a/CRM/Contribute/Page/UserDashboard.php b/CRM/Contribute/Page/UserDashboard.php index f542441b74..aa76d865df 100644 --- a/CRM/Contribute/Page/UserDashboard.php +++ b/CRM/Contribute/Page/UserDashboard.php @@ -139,10 +139,8 @@ class CRM_Contribute_Page_UserDashboard extends CRM_Contact_Page_View_UserDashBo * loads, it decides the which action has to be taken for the page. */ public function run() { - $invoiceSettings = Civi::settings()->get('contribution_invoice_settings'); - $defaultInvoicePage = CRM_Utils_Array::value('default_invoice_page', $invoiceSettings); $this->assign('invoicing', CRM_Invoicing_Utils::isInvoicingEnabled()); - $this->assign('defaultInvoicePage', $defaultInvoicePage); + $this->assign('defaultInvoicePage', CRM_Invoicing_Utils::getDefaultPaymentPage()); parent::preProcess(); $this->listContribution(); } diff --git a/CRM/Invoicing/Utils.php b/CRM/Invoicing/Utils.php index 27ad530331..05c2506bce 100644 --- a/CRM/Invoicing/Utils.php +++ b/CRM/Invoicing/Utils.php @@ -66,7 +66,7 @@ class CRM_Invoicing_Utils { * set within contribution_invoice_settings (which stores multiple settings * as an array in a non-standard way). * - * We check both here. + * We check both here. But will deprecate the latter in time. */ public static function isInvoicingEnabled() { if (Civi::settings()->get('invoicing')) { @@ -76,4 +76,22 @@ class CRM_Invoicing_Utils { return CRM_Utils_Array::value('invoicing', $invoiceSettings); } + /** + * Function to call to determine default invoice page. + * + * Historically the invoicing was declared as a setting but actually + * set within contribution_invoice_settings (which stores multiple settings + * as an array in a non-standard way). + * + * We check both here. But will deprecate the latter in time. + */ + public static function getDefaultPaymentPage() { + $value = Civi::settings()->get('default_invoice_page'); + if (is_numeric($value)) { + return $value; + } + $invoiceSettings = Civi::settings()->get('contribution_invoice_settings'); + return CRM_Utils_Array::value('default_invoice_page', $invoiceSettings); + } + } -- 2.25.1