From f49ed60b51bad5c0e021d1004d01c56f8cbdec71 Mon Sep 17 00:00:00 2001 From: Denis Roussel Date: Tue, 2 Dec 2025 19:43:25 +0100 Subject: [PATCH 1/8] [IMP] website_sale_checkout_skip_payment: Add message at payment step To ensure customer will be confident in clicking on 'Confirm' button, display a message --- .../models/res_config_settings.py | 5 +++++ .../models/website.py | 14 +++++++++++++- .../views/res_config_settings_views.xml | 11 +++++++++++ .../views/website_sale_template.xml | 15 +++++++++++++++ 4 files changed, 44 insertions(+), 1 deletion(-) diff --git a/website_sale_checkout_skip_payment/models/res_config_settings.py b/website_sale_checkout_skip_payment/models/res_config_settings.py index a4e22abc46..5b95d9e920 100644 --- a/website_sale_checkout_skip_payment/models/res_config_settings.py +++ b/website_sale_checkout_skip_payment/models/res_config_settings.py @@ -11,3 +11,8 @@ class ResConfigSettings(models.TransientModel): related="website_id.website_sale_checkout_skip_message", readonly=False, ) + website_sale_checkout_payment_skip_message = fields.Html( + string="Message displayed instead of payment methods.", + related="website_id.website_sale_checkout_payment_skip_message", + readonly=False, + ) diff --git a/website_sale_checkout_skip_payment/models/website.py b/website_sale_checkout_skip_payment/models/website.py index 7cfcae4c75..2281928078 100644 --- a/website_sale_checkout_skip_payment/models/website.py +++ b/website_sale_checkout_skip_payment/models/website.py @@ -1,7 +1,7 @@ # Copyright 2017 Sergio Teruel # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). -from odoo import _, fields, models +from odoo import _, api, fields, models from odoo.http import request @@ -21,6 +21,18 @@ def _get_default_skip_message(self): ) checkout_skip_payment = fields.Boolean(compute="_compute_checkout_skip_payment") + website_sale_checkout_payment_skip_message = fields.Html( + string="Message displayed instead of payment methods.", + translate=True, + default=lambda self: self._get_default_payment_skip_message(), + help="Fill in this with a message for the customer to confirm the order as " + "payment will be skipped.", + ) + + @api.model + def _get_default_payment_skip_message(self): + return _("The payment step will be skipped. You can confirm the order.") + def _compute_checkout_skip_payment(self): for rec in self: if request.session.uid: diff --git a/website_sale_checkout_skip_payment/views/res_config_settings_views.xml b/website_sale_checkout_skip_payment/views/res_config_settings_views.xml index 386e837afc..c939710d8d 100644 --- a/website_sale_checkout_skip_payment/views/res_config_settings_views.xml +++ b/website_sale_checkout_skip_payment/views/res_config_settings_views.xml @@ -16,6 +16,17 @@ + +
+
+ +
+
+
diff --git a/website_sale_checkout_skip_payment/views/website_sale_template.xml b/website_sale_checkout_skip_payment/views/website_sale_template.xml index bdc1c422e2..39f008ff29 100644 --- a/website_sale_checkout_skip_payment/views/website_sale_template.xml +++ b/website_sale_checkout_skip_payment/views/website_sale_template.xml @@ -2,6 +2,12 @@ + +