diff --git a/addons/website_payment/__manifest__.py b/addons/website_payment/__manifest__.py index cfdfe98a5b5..2a424282158 100644 --- a/addons/website_payment/__manifest__.py +++ b/addons/website_payment/__manifest__.py @@ -16,6 +16,7 @@ This is a bridge module that adds multi-website support for payment providers. 'data': [ 'data/mail_templates.xml', 'data/mail_template_data.xml', + 'data/ir_actions_server_data.xml', 'views/payment_provider.xml', 'views/res_config_settings_views.xml', 'views/donation_templates.xml', diff --git a/addons/website_payment/data/ir_actions_server_data.xml b/addons/website_payment/data/ir_actions_server_data.xml new file mode 100644 index 00000000000..fa48888b5db --- /dev/null +++ b/addons/website_payment/data/ir_actions_server_data.xml @@ -0,0 +1,15 @@ + + + + + Activate Stripe + + code + +menu = env.ref('website.menu_website_website_settings', raise_if_not_found=False) +menu_id = menu and menu.id +action = env.company._run_payment_onboarding_step(menu_id=menu_id) + + + + diff --git a/addons/website_payment/models/res_config_settings.py b/addons/website_payment/models/res_config_settings.py index e0e3c8b4676..091f072a02f 100644 --- a/addons/website_payment/models/res_config_settings.py +++ b/addons/website_payment/models/res_config_settings.py @@ -49,9 +49,7 @@ class ResConfigSettings(models.TransientModel): self.ensure_one() if not self.is_stripe_supported_country: return False - menu = self.env.ref('website.menu_website_website_settings', raise_if_not_found=False) - menu_id = menu and menu.id - return self.env.company._run_payment_onboarding_step(menu_id=menu_id) + return self.env['ir.actions.actions']._for_xml_id('website_payment.action_activate_stripe') def action_configure_first_provider(self): self.ensure_one() diff --git a/addons/website_payment/views/res_config_settings_views.xml b/addons/website_payment/views/res_config_settings_views.xml index a3c09bb5073..0562323e899 100644 --- a/addons/website_payment/views/res_config_settings_views.xml +++ b/addons/website_payment/views/res_config_settings_views.xml @@ -10,20 +10,40 @@
-
+
-
-
+
-
- - +
diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py index 8b2f4aa55d1..722e0ead5a8 100644 --- a/addons/website_sale/controllers/main.py +++ b/addons/website_sale/controllers/main.py @@ -1483,6 +1483,9 @@ class WebsiteSale(http.Controller): 'partner': order.partner_invoice_id, 'order': order, 'payment_action_id': request.env.ref('payment.action_payment_provider').id, + 'action_activate_stripe_id': request.env.ref( + 'website_payment.action_activate_stripe' + ).id, } payment_form_values = { **sale_portal.CustomerPortal._get_payment_values( diff --git a/addons/website_sale/views/templates.xml b/addons/website_sale/views/templates.xml index 99455d7e881..f1c60183713 100644 --- a/addons/website_sale/views/templates.xml +++ b/addons/website_sale/views/templates.xml @@ -1981,8 +1981,10 @@
-
+

Pay with

+
+
Pay Now @@ -1990,17 +1992,31 @@
No suitable payment option could be found.
- If you believe that it is an error, please contact the website administrator. +
+ If you believe that it is an error, please contact the website administrator. +
+
- -
diff --git a/addons/website_sale_loyalty/static/tests/tours/test_promo_main_tour.js b/addons/website_sale_loyalty/static/tests/tours/test_promo_main_tour.js index 4ef62989030..5b85fc9fa3d 100644 --- a/addons/website_sale_loyalty/static/tests/tours/test_promo_main_tour.js +++ b/addons/website_sale_loyalty/static/tests/tours/test_promo_main_tour.js @@ -137,7 +137,6 @@ registry.category("web_tour.tours").add('shop_sale_loyalty', { }, { content: "check total is unchanged once we land on payment page", - extra_trigger: '#payment_method h3:contains("Pay with")', trigger: 'tr#order_total .oe_currency_value:contains("967.50")', run: function () {}, // it's a check }, diff --git a/addons/website_sale_picking/__manifest__.py b/addons/website_sale_picking/__manifest__.py index 371664afa3d..1ba22d90ee5 100644 --- a/addons/website_sale_picking/__manifest__.py +++ b/addons/website_sale_picking/__manifest__.py @@ -15,6 +15,9 @@ Allows customers to pay for their orders at a shop, instead of paying online. 'views/templates.xml', 'views/delivery_view.xml' ], + 'demo': [ + 'data/demo.xml', + ], 'assets': { 'web.assets_frontend': [ 'website_sale_picking/static/src/js/checkout_form.js' diff --git a/addons/website_sale_picking/data/demo.xml b/addons/website_sale_picking/data/demo.xml new file mode 100644 index 00000000000..50685a32764 --- /dev/null +++ b/addons/website_sale_picking/data/demo.xml @@ -0,0 +1,8 @@ + + + + + disabled + + + diff --git a/addons/website_sale_picking/tests/test_ui.py b/addons/website_sale_picking/tests/test_ui.py index ad16ef4d118..99b9ff12ece 100644 --- a/addons/website_sale_picking/tests/test_ui.py +++ b/addons/website_sale_picking/tests/test_ui.py @@ -39,6 +39,7 @@ class TestUi(HttpCase): 'name': 'Example shipping On Site', 'product_id': self.env.ref('website_sale_picking.onsite_delivery_product').id, }) + self.env.ref("website_sale_picking.payment_provider_onsite").state = 'enabled' self.env.ref("website_sale_picking.payment_provider_onsite").is_published = True self.start_tour('/shop', 'onsite_payment_tour')