diff options
| author | Nicolas Martinelli <nim@odoo.com> | 2015-10-20 12:24:06 +0200 |
|---|---|---|
| committer | Nicolas Martinelli <nim@odoo.com> | 2015-10-29 16:08:11 +0100 |
| commit | 55535a6f61ba684e8d987ce92d9305bfb89c7acc (patch) | |
| tree | 3bf04d893d20181680de84be08d8320b39f31f7f | |
| parent | 1684ae41e71220f91489027d43e62c15f5917271 (diff) | |
[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.
| -rw-r--r-- | addons/website_sale/models/sale_order.py | 9 |
1 files 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) |
