diff --git a/Metadata/js/omnipay_PaypalRest.js b/Metadata/js/omnipay_PaypalRest.js index b15f56659..53dd9670b 100644 --- a/Metadata/js/omnipay_PaypalRest.js +++ b/Metadata/js/omnipay_PaypalRest.js @@ -5,6 +5,27 @@ function renderPaypal() { paypal.Buttons({ + + + onInit: function(data, actions) { + // Set up the buttons. + if (form.valid()) { + actions.enable() + } + else { + actions.disable(); + } + + form.on('blur keyup change', 'input', function (event) { + if (form.valid()) { + actions.enable() + } + else { + actions.disable(); + } + }); + }, + createBillingAgreement: function (data, actions) { var frequencyInterval = $('#frequency_interval').val() || 1; @@ -65,7 +86,7 @@ } var paypalScriptURL = 'https://www.paypal.com/sdk/js?client-id=' + CRM.vars.omnipay.client_id + '¤cy=' + CRM.vars.omnipay.currency + '&commit=false&vault=true'; - CRM.loadScript(paypalScriptURL, false) - .done(renderPaypal); + CRM.loadScript(paypalScriptURL, false).done(renderPaypal); + })(CRM.$); diff --git a/info.xml b/info.xml index c3ea4ecbb..dc71871b0 100644 --- a/info.xml +++ b/info.xml @@ -15,10 +15,10 @@ http://civicrm.org/licensing 2019-07-07 - 3.6 + 3.7 stable - 5.13 + 5.17 This module integrates the omnipay library with CiviCRM. This release is for Omnipay 3.x and requires php 7.1. All new development will be here but 2.x series will continue to work. diff --git a/omnipaymultiprocessor.php b/omnipaymultiprocessor.php index f3f9d33bd..456f3d043 100644 --- a/omnipaymultiprocessor.php +++ b/omnipaymultiprocessor.php @@ -101,6 +101,8 @@ function omnipaymultiprocessor_civicrm_alterSettingsFolders(&$metaDataFolders) { function omnipaymultiprocessor_civicrm_preProcess($formName, &$form) { if ($formName === 'CRM_Contribute_Form_Contribution_Main') { + $form->assign('isJsValidate', TRUE); + CRM_Core_Resources::singleton()->addVars('form', ['suppressAlerts' => 1]); if (!empty($form->_values['is_recur'])) { $recurOptions = [ 'is_recur_interval' => $form->_values['is_recur_interval'],