From 8f32210fe16d3b14ee80a8aa3f8fd9929edc5ba8 Mon Sep 17 00:00:00 2001 From: "olt@tinyerp.com" <> Date: Wed, 22 Sep 2010 15:06:46 +0200 Subject: [PATCH] [IMP] product: performance improvement: since we already have a browse record, there is no need to re-browse on it's id bzr revid: olt@tinyerp.com-20100922130646-q8h8u3x961b76fmo --- addons/product/product.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/addons/product/product.py b/addons/product/product.py index eaa1df9ebf2..1b74bef87f9 100644 --- a/addons/product/product.py +++ b/addons/product/product.py @@ -377,23 +377,23 @@ class product_product(osv.osv): res[product.id] = (res[product.id] or 0.0) * (product.price_margin or 1.0) + product.price_extra return res - def _get_partner_code_name(self, cr, uid, ids, product_id, partner_id, context={}): - product = self.browse(cr, uid, [product_id], context)[0] + def _get_partner_code_name(self, cr, uid, ids, product, partner_id, context={}): for supinfo in product.seller_ids: if supinfo.name.id == partner_id: return {'code': supinfo.product_code, 'name': supinfo.product_name, 'variants': ''} - return {'code' : product.default_code, 'name' : product.name, 'variants': product.variants} + res = {'code': product.default_code, 'name': product.name, 'variants': product.variants} + return res def _product_code(self, cr, uid, ids, name, arg, context={}): res = {} for p in self.browse(cr, uid, ids, context): - res[p.id] = self._get_partner_code_name(cr, uid, [], p.id, context.get('partner_id', None), context)['code'] + res[p.id] = self._get_partner_code_name(cr, uid, [], p, context.get('partner_id', None), context)['code'] return res def _product_partner_ref(self, cr, uid, ids, name, arg, context={}): res = {} for p in self.browse(cr, uid, ids, context): - data = self._get_partner_code_name(cr, uid, [], p.id, context.get('partner_id', None), context) + data = self._get_partner_code_name(cr, uid, [], p, context.get('partner_id', None), context) if not data['variants']: data['variants'] = p.variants if not data['code']: