diff --git a/addons/website_sale/models/sale_order.py b/addons/website_sale/models/sale_order.py index 4c942c2da54..8cc155b43a0 100644 --- a/addons/website_sale/models/sale_order.py +++ b/addons/website_sale/models/sale_order.py @@ -129,9 +129,16 @@ class website(orm.Model): def sale_get_order(self, cr, uid, ids, force_create=False, code=None, update_pricelist=None, context=None): sale_order_obj = self.pool['sale.order'] sale_order_id = request.session.get('sale_order_id') - sale_order = sale_order_obj.browse(cr, SUPERUSER_ID, sale_order_id, context=context) + sale_order = None + + # Test validity of the sale_order_id + if sale_order_id and sale_order_obj.exists(cr, SUPERUSER_ID, sale_order_id, context=context): + sale_order = sale_order_obj.browse(cr, SUPERUSER_ID, sale_order_id, context=context) + else: + sale_order_id = None + # create so if needed - if not sale_order.exists() and (force_create or code): + if not sale_order_id and (force_create or code): # TODO cache partner_id session partner = self.pool['res.users'].browse(cr, SUPERUSER_ID, uid, context=context).partner_id @@ -148,7 +155,7 @@ class website(orm.Model): request.session['sale_order_id'] = sale_order_id sale_order = sale_order_obj.browse(cr, SUPERUSER_ID, sale_order_id, context=context) - if sale_order.exists(): + if sale_order_id: # TODO cache partner_id session partner = self.pool['res.users'].browse(cr, SUPERUSER_ID, uid, context=context).partner_id # check for change of pricelist with a coupon