From 2fa76c184ea5b7a267dae2e04ba60d183d4ecd00 Mon Sep 17 00:00:00 2001 From: Eileen McNaughton Date: Thu, 28 May 2015 13:02:53 +1200 Subject: [PATCH] CRM-16573 per Alan's comment set field to non-required rather than absent --- CRM/Core/Payment/Form.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/CRM/Core/Payment/Form.php b/CRM/Core/Payment/Form.php index 71d1c9ff14..ab30a415aa 100644 --- a/CRM/Core/Payment/Form.php +++ b/CRM/Core/Payment/Form.php @@ -57,11 +57,6 @@ class CRM_Core_Payment_Form { if ($processor != NULL) { // ie it is pay later $paymentFields = self::getPaymentFields($processor); - if (in_array('cvv2', $paymentFields) && $isBackOffice) { - if (!civicrm_api3('setting', 'getvalue', array('name' => 'cvv_backoffice_required', 'group' => 'Contribute Preferences'))) { - unset($paymentFields[array_search('cvv2', $paymentFields)]); - } - } $paymentTypeName = self::getPaymentTypeName($processor); $paymentTypeLabel = self::getPaymentTypeLabel($processor); //@todo if we switch to iterating through $form->billingFieldSets we won't need to assign these directly @@ -69,6 +64,12 @@ class CRM_Core_Payment_Form { $form->assign('paymentTypeLabel', $paymentTypeLabel); $form->billingFieldSets[$paymentTypeName]['fields'] = $form->_paymentFields = array_intersect_key(self::getPaymentFieldMetadata($processor), array_flip($paymentFields)); + if (in_array('cvv2', $paymentFields) && $isBackOffice) { + if (!civicrm_api3('setting', 'getvalue', array('name' => 'cvv_backoffice_required', 'group' => 'Contribute Preferences'))) { + $form->billingFieldSets[$paymentTypeName]['fields'][array_search('cvv2', $paymentFields)]['required'] = 0; + } + } + $form->billingPane = array($paymentTypeName => $paymentTypeLabel); $form->assign('paymentFields', $paymentFields); } -- 2.25.1