From d2f9994e92bbf3871dd3358677230064031bd555 Mon Sep 17 00:00:00 2001 From: "Lucas Perais (lpe)" Date: Mon, 5 Feb 2018 11:44:39 +0100 Subject: [PATCH] [FIX] sale, website_quote: right display of confirmation mode Create a quotation in sign confirmation mode. Send it by email Follow the link Go the quote's user's portal Go to the quotes menu, and enter the right SO Before this commit, although the confrmation mode of a SO was rightly computed, it was badly retrieved and displayed. The button on the email was 'accept and pay' On the portal, the form view of the SO displayed 'pay now' After this commit, in both cases it displays 'accept and sign' or the like OPW 806554 related to #22390 --- addons/sale/controllers/portal.py | 2 +- addons/website_quote/models/sale_order.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/sale/controllers/portal.py b/addons/sale/controllers/portal.py index 4ea97383cc9..c33e7b79860 100644 --- a/addons/sale/controllers/portal.py +++ b/addons/sale/controllers/portal.py @@ -57,7 +57,7 @@ class CustomerPortal(CustomerPortal): if access_token: values['no_breadcrumbs'] = True values['access_token'] = access_token - values['portal_confirmation'] = request.env['ir.config_parameter'].sudo().get_param('sale.sale_portal_confirmation_options', default='none') + values['portal_confirmation'] = order.get_portal_confirmation_action() if kwargs.get('error'): values['error'] = kwargs['error'] diff --git a/addons/website_quote/models/sale_order.py b/addons/website_quote/models/sale_order.py index 6824284b84e..a54e8368c24 100644 --- a/addons/website_quote/models/sale_order.py +++ b/addons/website_quote/models/sale_order.py @@ -200,8 +200,8 @@ class SaleOrder(models.Model): def get_portal_confirmation_action(self): """ Template override default behavior of pay / sign chosen in sales settings """ - if self.template_id: - return 'sign' if self.require_payment == 1 else 'pay' + if self.require_payment is not None or self.require_payment is not False: + return 'pay' if self.require_payment == 1 else 'sign' return super(SaleOrder, self).get_portal_confirmation_action() @api.multi