From 6c7eef4f58c47897b03f58d6f2e8689fd00518a0 Mon Sep 17 00:00:00 2001 From: dinamiko Date: Wed, 9 Mar 2022 12:01:27 +0100 Subject: [PATCH] Display legal text under place order button --- .../ppcp-wc-gateway/resources/js/fraudnet.js | 5 -- .../resources/js/pay-upon-invoice.js | 12 ++++ .../ppcp-wc-gateway/src/WCGatewayModule.php | 70 +++++++++++-------- modules/ppcp-wc-gateway/webpack.config.js | 2 +- 4 files changed, 53 insertions(+), 36 deletions(-) delete mode 100644 modules/ppcp-wc-gateway/resources/js/fraudnet.js create mode 100644 modules/ppcp-wc-gateway/resources/js/pay-upon-invoice.js diff --git a/modules/ppcp-wc-gateway/resources/js/fraudnet.js b/modules/ppcp-wc-gateway/resources/js/fraudnet.js deleted file mode 100644 index a9b735fde..000000000 --- a/modules/ppcp-wc-gateway/resources/js/fraudnet.js +++ /dev/null @@ -1,5 +0,0 @@ -document.addEventListener('DOMContentLoaded', () => { - const script = document.createElement('script'); - script.setAttribute('src', 'https://c.paypal.com/da/r/fb.js'); - document.body.append(script); -}); diff --git a/modules/ppcp-wc-gateway/resources/js/pay-upon-invoice.js b/modules/ppcp-wc-gateway/resources/js/pay-upon-invoice.js new file mode 100644 index 000000000..d5671fab9 --- /dev/null +++ b/modules/ppcp-wc-gateway/resources/js/pay-upon-invoice.js @@ -0,0 +1,12 @@ +document.addEventListener('DOMContentLoaded', () => { + const script = document.createElement('script'); + script.setAttribute('src', 'https://c.paypal.com/da/r/fb.js'); + document.body.append(script); + + jQuery(document.body).on('updated_checkout payment_method_selected', () => { + jQuery('#ppcp-pui-legal-text').hide(); + if(jQuery('input[name="payment_method"]:checked').val() === 'ppcp-pay-upon-invoice-gateway') { + jQuery('#ppcp-pui-legal-text').show(); + } + }); +}); diff --git a/modules/ppcp-wc-gateway/src/WCGatewayModule.php b/modules/ppcp-wc-gateway/src/WCGatewayModule.php index 2285a6cc7..5fbaa30f6 100644 --- a/modules/ppcp-wc-gateway/src/WCGatewayModule.php +++ b/modules/ppcp-wc-gateway/src/WCGatewayModule.php @@ -182,6 +182,46 @@ class WCGatewayModule implements ModuleInterface { } } ); + + if ( 'DE' === $c->get( 'api.shop.country' ) ) { + add_action( + 'wp_footer', + function () { + ?> + + get( 'wcgateway.url' ); + wp_enqueue_script( + 'ppcp-pay-upon-invoice', + trailingslashit( $gateway_module_url ) . 'assets/js/pay-upon-invoice.js', + array(), + 1 + ); + } + ); + + add_action( + 'woocommerce_review_order_after_submit', + function () { + // TODO show/hide via JS + ?> + + handler( (array) $methods ); } ); - - add_action( - 'wp_footer', - function () use ( $container ) { - if ( 'DE' === $container->get( 'api.shop.country' ) ) { ?> - - get( 'api.shop.country' ) ) { - $gateway_module_url = $container->get( 'wcgateway.url' ); - wp_enqueue_script( - 'ppcp-fraudnet', - trailingslashit( $gateway_module_url ) . 'assets/js/fraudnet.js', - array(), - 1 - ); - } - } - ); } /** diff --git a/modules/ppcp-wc-gateway/webpack.config.js b/modules/ppcp-wc-gateway/webpack.config.js index fcc5648bb..5abb1f94a 100644 --- a/modules/ppcp-wc-gateway/webpack.config.js +++ b/modules/ppcp-wc-gateway/webpack.config.js @@ -7,7 +7,7 @@ module.exports = { target: 'web', entry: { 'gateway-settings': path.resolve('./resources/js/gateway-settings.js'), - 'fraudnet': path.resolve('./resources/js/fraudnet.js'), + 'pay-upon-invoice': path.resolve('./resources/js/pay-upon-invoice.js'), }, output: { path: path.resolve(__dirname, 'assets/'),