From 55535a6f61ba684e8d987ce92d9305bfb89c7acc Mon Sep 17 00:00:00 2001 From: Nicolas Martinelli Date: Tue, 20 Oct 2015 12:24:06 +0200 Subject: [PATCH] [FIX] website_sale: keep pricelist when creating new SO The call to onchange_partner_id resets the pricelist. Now, SO is created with correct values right away. --- addons/website_sale/models/sale_order.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/addons/website_sale/models/sale_order.py b/addons/website_sale/models/sale_order.py index c2d3373e1d1..b9625be9347 100644 --- a/addons/website_sale/models/sale_order.py +++ b/addons/website_sale/models/sale_order.py @@ -254,16 +254,17 @@ class website(orm.Model): affiliate_id = request.session.get('affiliate_id') salesperson_id = affiliate_id if user_obj.exists(cr, SUPERUSER_ID, affiliate_id, context=context) else request.website.salesperson_id.id for w in self.browse(cr, uid, ids): + addr = partner.address_get(['delivery', 'invoice']) values = { 'partner_id': partner.id, 'pricelist_id': pricelist_id, + 'payment_term_id': partner.property_payment_term_id.id if partner.property_payment_term_id else False, 'team_id': w.salesteam_id.id, + 'partner_invoice_id': addr['invoice'], + 'partner_shipping_id': addr['delivery'], + 'user_id': salesperson_id or w.salesperson_id.id, } sale_order_id = sale_order_obj.create(cr, SUPERUSER_ID, values, context=context) - sale_order_obj.onchange_partner_id(cr, SUPERUSER_ID, [sale_order_id], context=context) - values = {'user_id': salesperson_id or w.salesperson_id.id} - - sale_order_obj.write(cr, SUPERUSER_ID, [sale_order_id], values, context=context) request.session['sale_order_id'] = sale_order_id sale_order = sale_order_obj.browse(cr, SUPERUSER_ID, sale_order_id, context=context)