[IMP] website_sale: sale_get_order avoid useless sql request

Avoid an sql request when sale_order_id is None.
Improvement of 6b6d7310c0.
Closes PR #8974.
This commit is contained in:
David Monjoie 2015-10-09 09:31:10 +02:00
parent 600bfbdc43
commit fa48e6f485
1 changed files with 10 additions and 3 deletions

View File

@ -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