From c2ab016ea6d6e43ebd377a852c6fd38c03d0f94d Mon Sep 17 00:00:00 2001 From: Goffin Simon Date: Wed, 24 Jun 2015 17:07:09 +0200 Subject: [PATCH] [FIX] purchase, sale: Confirmed sale The number displayed in the Sales button shows the number of sale order lines confirmed for the current product. The number displayed in the Purchases button shows the number of purchase order lines for the current product. closes:#7107 --- addons/purchase/purchase.py | 4 ++-- addons/sale/sale.py | 13 +++++-------- addons/sale/sale_view.xml | 2 +- 3 files changed, 8 insertions(+), 11 deletions(-) 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 @@ - +