diff --git a/addons/sale_crm/wizard/makesale.py b/addons/sale_crm/wizard/makesale.py index a31d987e4b5..e0a4d956126 100644 --- a/addons/sale_crm/wizard/makesale.py +++ b/addons/sale_crm/wizard/makesale.py @@ -116,14 +116,19 @@ class make_sale(wizard.interface): if data['form']['analytic_account']: vals['project_id'] = data['form']['analytic_account'] + + vals.update( sale_obj.onchange_partner_id(cr, uid, [], partner_id).get('value',{}) ) new_id = sale_obj.create(cr, uid, vals) - for product_id in data['form']['products'][0][2]: - value = sale_line_obj.product_id_change(cr, uid, [], pricelist, - product_id, qty=1, partner_id=partner_id, fiscal_position=fpos)['value'] - value['product_id'] = product_id - value['order_id'] = new_id - value['tax_id'] = [(6,0,value['tax_id'])] - sale_line_obj.create(cr, uid, value) + if data['form']['products']: + for product_id in data['form']['products'][0][2]: + value = { + 'price_unit': 0.0, + 'product_id': product_id, + 'order_id': new_id, + } + value.update( sale_line_obj.product_id_change(cr, uid, [], pricelist,product_id, qty=1, partner_id=partner_id, fiscal_position=fpos)['value'] ) + value['tax_id'] = [(6,0,value['tax_id'])] + sale_line_obj.create(cr, uid, value) case_obj.write(cr, uid, [case.id], {'ref': 'sale.order,%s' % new_id}) new_ids.append(new_id)