[FIX] point_of_sale: fix default destination(or source, for returns) location for pos order moves
For instance, the source location of moves of returned products was output instead of partners locations / customers bzr revid: dle@openerp.com-20131210181733-2rjw6cas8bjypp2p
This commit is contained in:
parent
1734cea7d6
commit
34c6eb963a
|
@ -698,13 +698,14 @@ class pos_order(osv.osv):
|
||||||
}, context=context)
|
}, context=context)
|
||||||
self.write(cr, uid, [order.id], {'picking_id': picking_id}, context=context)
|
self.write(cr, uid, [order.id], {'picking_id': picking_id}, context=context)
|
||||||
location_id = order.shop_id.warehouse_id.lot_stock_id.id
|
location_id = order.shop_id.warehouse_id.lot_stock_id.id
|
||||||
output_id = order.shop_id.warehouse_id.lot_output_id.id
|
if order.partner_id:
|
||||||
|
destination_id = order.partner_id.property_stock_customer.id
|
||||||
|
else:
|
||||||
|
destination_id = partner_obj.default_get(cr, uid, ['property_stock_customer'], context=context)['property_stock_customer']
|
||||||
|
|
||||||
for line in order.lines:
|
for line in order.lines:
|
||||||
if line.product_id and line.product_id.type == 'service':
|
if line.product_id and line.product_id.type == 'service':
|
||||||
continue
|
continue
|
||||||
if line.qty < 0:
|
|
||||||
location_id, output_id = output_id, location_id
|
|
||||||
|
|
||||||
move_obj.create(cr, uid, {
|
move_obj.create(cr, uid, {
|
||||||
'name': line.name,
|
'name': line.name,
|
||||||
|
@ -716,11 +717,9 @@ class pos_order(osv.osv):
|
||||||
'product_qty': abs(line.qty),
|
'product_qty': abs(line.qty),
|
||||||
'tracking_id': False,
|
'tracking_id': False,
|
||||||
'state': 'draft',
|
'state': 'draft',
|
||||||
'location_id': location_id,
|
'location_id': location_id if line.qty >= 0 else destination_id,
|
||||||
'location_dest_id': output_id,
|
'location_dest_id': destination_id if line.qty >= 0 else location_id,
|
||||||
}, context=context)
|
}, context=context)
|
||||||
if line.qty < 0:
|
|
||||||
location_id, output_id = output_id, location_id
|
|
||||||
|
|
||||||
wf_service = netsvc.LocalService("workflow")
|
wf_service = netsvc.LocalService("workflow")
|
||||||
wf_service.trg_validate(uid, 'stock.picking', picking_id, 'button_confirm', cr)
|
wf_service.trg_validate(uid, 'stock.picking', picking_id, 'button_confirm', cr)
|
||||||
|
|
Loading…
Reference in New Issue