From f77e00af1989906561bd8569706e272f60800b85 Mon Sep 17 00:00:00 2001 From: "ksa (Open ERP)" Date: Fri, 11 Feb 2011 16:16:24 +0530 Subject: [PATCH] [FIX]: Try to select destination address which has no partner on it lp bug: https://launchpad.net/bugs/710516 fixed bzr revid: ksa@tinyerp.co.in-20110211104624-5gqtxl14itgw1xvz --- addons/purchase/purchase.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index 2527d0d6a7e..f2ef17a183d 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -170,7 +170,7 @@ class purchase_order(osv.osv): 'partner_id':fields.many2one('res.partner', 'Supplier', required=True, states={'confirmed':[('readonly',True)], 'approved':[('readonly',True)],'done':[('readonly',True)]}, change_default=True), 'partner_address_id':fields.many2one('res.partner.address', 'Address', required=True, states={'confirmed':[('readonly',True)], 'approved':[('readonly',True)],'done':[('readonly',True)]},domain="[('partner_id', '=', partner_id)]"), - 'dest_address_id':fields.many2one('res.partner.address', 'Destination Address', domain="[('partner_id', '!=', False)]", + 'dest_address_id':fields.many2one('res.partner.address', 'Destination Address', states={'confirmed':[('readonly',True)], 'approved':[('readonly',True)],'done':[('readonly',True)]}, help="Put an address if you want to deliver directly from the supplier to the customer." \ "In this case, it will remove the warehouse link and set the customer location." @@ -257,9 +257,12 @@ class purchase_order(osv.osv): def onchange_dest_address_id(self, cr, uid, ids, adr_id): if not adr_id: return {} - part_id = self.pool.get('res.partner.address').read(cr, uid, [adr_id], ['partner_id'])[0]['partner_id'][0] - loc_id = self.pool.get('res.partner').browse(cr, uid, part_id).property_stock_customer.id - return {'value':{'location_id': loc_id, 'warehouse_id': False}} + values = {'warehouse_id': False} + part_id = self.pool.get('res.partner.address').browse(cr, uid, adr_id).partner_id + if part_id: + loc_id = part_id.property_stock_customer.id + values.update({'location_id': loc_id}) + return {'value':values} def onchange_warehouse_id(self, cr, uid, ids, warehouse_id): if not warehouse_id: