diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py index 137f15b5782..b5083e3f7c6 100644 --- a/addons/website_sale/controllers/main.py +++ b/addons/website_sale/controllers/main.py @@ -390,13 +390,13 @@ class WebsiteSale(http.Controller): return request.render('website.404') if abandoned_order.state != 'draft': # abandoned cart already finished values.update({'abandoned_proceed': True}) - elif revive == 'squash' or (revive == 'merge' and not request.session['sale_order_id']): # restore old cart or merge with unexistant + elif revive == 'squash' or (revive == 'merge' and not request.session.get('sale_order_id')): # restore old cart or merge with unexistant request.session['sale_order_id'] = abandoned_order.id return request.redirect('/shop/cart') elif revive == 'merge': abandoned_order.order_line.write({'order_id': request.session['sale_order_id']}) abandoned_order.action_cancel() - elif abandoned_order.id != request.session['sale_order_id']: # abandoned cart found, user have to choose what to do + elif abandoned_order.id != request.session.get('sale_order_id'): # abandoned cart found, user have to choose what to do values.update({'access_token': abandoned_order.access_token}) if order: diff --git a/addons/website_sale/models/website.py b/addons/website_sale/models/website.py index bc9c702760f..742e60c3d61 100644 --- a/addons/website_sale/models/website.py +++ b/addons/website_sale/models/website.py @@ -260,7 +260,8 @@ class Website(models.Model): sale_order = self.env['sale.order'].sudo().browse(sale_order_id).exists() if sale_order_id else None if not (sale_order or force_create or code): - request.session['sale_order_id'] = None + if request.session.get('sale_order_id'): + request.session['sale_order_id'] = None return self.env['sale.order'] if self.env['product.pricelist'].browse(force_pricelist).exists():