From fca137c2b75edc9727ba8d39765c71f8913cbc16 Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Thu, 10 Mar 2011 10:52:25 +0100 Subject: [PATCH 1/2] [FIX] product: load the sellers with a valid sequence bzr revid: stephane@openerp.com-20110310095225-1771s2kx1qg52o6k --- addons/product/product.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/product/product.py b/addons/product/product.py index 6bee68c2ba6..f82e5791fd7 100644 --- a/addons/product/product.py +++ b/addons/product/product.py @@ -250,7 +250,9 @@ class product_template(osv.osv): result[product.id] = {field:False} result[product.id]['seller_delay'] = 1 if product.seller_ids: - partner_list = sorted([(partner_id.sequence, partner_id) for partner_id in product.seller_ids if partner_id and partner_id.sequence]) + partner_list = sorted([(partner_id.sequence, partner_id) + for partner_id in product.seller_ids + if partner_id and isinstance(partner_id.sequence, (int, long))]) main_supplier = partner_list and partner_list[0] and partner_list[0][1] or False result[product.id]['seller_delay'] = main_supplier and main_supplier.delay or 1 result[product.id]['seller_qty'] = main_supplier and main_supplier.qty or 0.0 From d9cabb1b5b5f37ce5803d9ed7c78c3ed602b5fee Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Thu, 10 Mar 2011 10:52:41 +0100 Subject: [PATCH 2/2] [FIX] procurement: notify the procurement there is no default seller for a product bzr revid: stephane@openerp.com-20110310095241-pvoz61hgug5q1hah --- addons/procurement/procurement.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/addons/procurement/procurement.py b/addons/procurement/procurement.py index 3257f0a5694..83ce42034df 100644 --- a/addons/procurement/procurement.py +++ b/addons/procurement/procurement.py @@ -289,9 +289,15 @@ class procurement_order(osv.osv): return False partner = procurement.product_id.seller_id #Taken Main Supplier of Product of Procurement. + if not partner: + cr.execute('update procurement_order set message=%s where id=%s', + (_('No default supplier defined for this product'), procurement.id)) + return False + if user.company_id and user.company_id.partner_id: if partner.id == user.company_id.partner_id.id: return False + address_id = partner_obj.address_get(cr, uid, [partner.id], ['delivery'])['delivery'] if not address_id: cr.execute('update procurement_order set message=%s where id=%s',