diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index 01a37e73b70..b131505bfbb 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -1649,9 +1649,9 @@ class product_product(osv.Model): _inherit = 'product.product' def _purchase_count(self, cr, uid, ids, field_name, arg, context=None): - Purchase = self.pool['purchase.order'] + Purchase = self.pool['purchase.order.line'] return { - product_id: Purchase.search_count(cr,uid, [('order_line.product_id', '=', product_id)], context=context) + product_id: Purchase.search_count(cr,uid, [('product_id', '=', product_id)], context=context) for product_id in ids } diff --git a/addons/sale/sale.py b/addons/sale/sale.py index cc39ce94293..e7f81078d70 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -1169,14 +1169,11 @@ class product_product(osv.Model): _inherit = 'product.product' def _sales_count(self, cr, uid, ids, field_name, arg, context=None): - r = dict.fromkeys(ids, 0) - domain = [ - ('state', 'in', ['waiting_date','progress','manual', 'shipping_except', 'invoice_except', 'done']), - ('product_id', 'in', ids), - ] - for group in self.pool['sale.report'].read_group(cr, uid, domain, ['product_id','product_uom_qty'], ['product_id'], context=context): - r[group['product_id'][0]] = group['product_uom_qty'] - return r + sale = self.pool['sale.order.line'] + return { + product_id: sale.search_count(cr, uid, [('product_id', '=', product_id), ('state', 'in', ['waiting_date', 'progress', 'manual', 'shipping_except', 'invoice_except', 'confirmed', 'done'])], context=context) + for product_id in ids + } def action_view_sales(self, cr, uid, ids, context=None): result = self.pool['ir.model.data'].xmlid_to_res_id(cr, uid, 'sale.action_order_line_product_tree', raise_if_not_found=True) diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml index e35d91623a0..7263bb51c6e 100644 --- a/addons/sale/sale_view.xml +++ b/addons/sale/sale_view.xml @@ -512,7 +512,7 @@ - +