diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index ca618f76948..18f31c3bd58 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -327,13 +327,13 @@ class purchase_order(osv.osv): return {} return {'value': {'currency_id': self.pool.get('product.pricelist').browse(cr, uid, pricelist_id, context=context).currency_id.id}} - #Destination address is used when dropshipping - def onchange_dest_address_id(self, cr, uid, ids, address_id): + #Destination address is used when dropshipping + def onchange_dest_address_id(self, cr, uid, ids, address_id, context=None): if not address_id: return {} address = self.pool.get('res.partner') values = {} - supplier = address.browse(cr, uid, address_id) + supplier = address.browse(cr, uid, address_id, context=context) if supplier: location_id = supplier.property_stock_customer.id values.update({'location_id': location_id}) @@ -348,15 +348,15 @@ class purchase_order(osv.osv): value.update({'related_location_id': picktype.default_location_dest_id and picktype.default_location_dest_id.id or False}) return {'value': value} - def onchange_partner_id(self, cr, uid, ids, partner_id): + def onchange_partner_id(self, cr, uid, ids, partner_id, context=None): partner = self.pool.get('res.partner') if not partner_id: return {'value': { 'fiscal_position': False, 'payment_term_id': False, }} - supplier_address = partner.address_get(cr, uid, [partner_id], ['default']) - supplier = partner.browse(cr, uid, partner_id) + supplier_address = partner.address_get(cr, uid, [partner_id], ['default'], context=context) + supplier = partner.browse(cr, uid, partner_id, context=context) return {'value': { 'pricelist_id': supplier.property_product_pricelist_purchase.id, 'fiscal_position': supplier.property_account_position and supplier.property_account_position.id or False, diff --git a/addons/purchase/purchase_view.xml b/addons/purchase/purchase_view.xml index 4cce011f692..a1c42123611 100644 --- a/addons/purchase/purchase_view.xml +++ b/addons/purchase/purchase_view.xml @@ -214,7 +214,7 @@ - + @@ -226,7 +226,7 @@ - diff --git a/addons/warning/warning.py b/addons/warning/warning.py index dfafea37e06..55b198cc620 100644 --- a/addons/warning/warning.py +++ b/addons/warning/warning.py @@ -81,13 +81,13 @@ class sale_order(osv.osv): class purchase_order(osv.osv): _inherit = 'purchase.order' - def onchange_partner_id(self, cr, uid, ids, part): + def onchange_partner_id(self, cr, uid, ids, part, context=None): if not part: return {'value':{'partner_address_id': False}} warning = {} title = False message = False - partner = self.pool.get('res.partner').browse(cr, uid, part) + partner = self.pool.get('res.partner').browse(cr, uid, part, context=context) if partner.purchase_warn != 'no-message': title = _("Warning for %s") % partner.name message = partner.purchase_warn_msg @@ -98,7 +98,7 @@ class purchase_order(osv.osv): if partner.purchase_warn == 'block': return {'value': {'partner_id': False}, 'warning': warning} - result = super(purchase_order, self).onchange_partner_id(cr, uid, ids, part) + result = super(purchase_order, self).onchange_partner_id(cr, uid, ids, part, context=context) if result.get('warning',False): warning['title'] = title and title +' & '+ result['warning']['title'] or result['warning']['title']