From 7f1589769b193a9e127e810c95abc47eb5868bf1 Mon Sep 17 00:00:00 2001 From: "olt@tinyerp.com" <> Date: Wed, 3 Feb 2010 12:43:14 +0100 Subject: [PATCH] [FIX] sale: onchange on partner_id now set the partner's dedicated salesman as the sale salesman bzr revid: olt@tinyerp.com-20100203114314-p48a6joztsu86r3y --- addons/sale/sale.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/addons/sale/sale.py b/addons/sale/sale.py index ad378f19f3c..4cf3ab64af6 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -309,14 +309,26 @@ class sale_order(osv.osv): def onchange_partner_id(self, cr, uid, ids, part): if not part: return {'value': {'partner_invoice_id': False, 'partner_shipping_id': False, 'partner_order_id': False, 'payment_term': False, 'fiscal_position': False}} + addr = self.pool.get('res.partner').address_get(cr, uid, [part], ['delivery', 'invoice', 'contact']) part = self.pool.get('res.partner').browse(cr, uid, part) pricelist = part.property_product_pricelist and part.property_product_pricelist.id or False payment_term = part.property_payment_term and part.property_payment_term.id or False fiscal_position = part.property_account_position and part.property_account_position.id or False - val = {'partner_invoice_id': addr['invoice'], 'partner_order_id': addr['contact'], 'partner_shipping_id': addr['delivery'], 'payment_term': payment_term, 'fiscal_position': fiscal_position} + dedicated_salesman = part.user_id and part.user_id.id or False + + val = { + 'partner_invoice_id': addr['invoice'], + 'partner_order_id': addr['contact'], + 'partner_shipping_id': addr['delivery'], + 'payment_term': payment_term, + 'fiscal_position': fiscal_position, + 'user_id': dedicated_salesman, + } + if pricelist: val['pricelist_id'] = pricelist + return {'value': val} def shipping_policy_change(self, cr, uid, ids, policy, context={}):