[IMP] stock,sale: Move the code into sale

bzr revid: sbh@tinyerp.com-20100916090722-fkwvzhn03gmo937r
This commit is contained in:
sbh (Open ERP) 2010-09-16 14:37:22 +05:30
parent 08c1ed1f64
commit 98fb031bd0
2 changed files with 23 additions and 15 deletions

View File

@ -43,6 +43,11 @@ class stock_move(osv.osv):
if move.sale_line_id and move.picking_id.sale_id.pricelist_id:
reference_amount, reference_currency_id = move.sale_line_id.price_unit, move.picking_id.sale_id.pricelist_id.currency_id.id
return reference_amount, reference_currency_id
def _create_chained_picking(self, cr, uid, pick_name,picking,ptype,todo, context=None):
res=super(stock_move, self)._create_chained_picking(cr, uid, pick_name,picking,ptype,todo, context=context)
if picking.sale_id:
picking_obj = self.pool.get('stock.picking').write(cr,uid,[res],{'sale_id':picking.sale_id.id})
return res
stock_move()
class stock_picking(osv.osv):

View File

@ -1682,7 +1682,23 @@ class stock_move(osv.osv):
result.setdefault(m.picking_id, [])
result[m.picking_id].append( (m, dest) )
return result
def _create_chained_picking(self, cr, uid, pick_name,picking,ptype,move, context=None):
res_obj = self.pool.get('res.company')
picking_obj = self.pool.get('stock.picking')
pick_id= picking_obj.create(cr, uid, {
'name': pick_name,
'origin': str(picking.origin or ''),
'type': ptype,
'note': picking.note,
'move_type': picking.move_type,
'auto_picking': move[0][1][1] == 'auto',
'stock_journal_id': move[0][1][3],
'company_id': move[0][1][4] or res_obj._company_default_get(cr, uid, 'stock.company', context=context),
'address_id': picking.address_id.id,
'invoice_state': 'none',
'date': picking.date,
})
return pick_id
def action_confirm(self, cr, uid, ids, context=None):
""" Confirms stock move.
@return: List of ids.
@ -1708,20 +1724,7 @@ class stock_move(osv.osv):
pickid = check_picking_ids[0]
else:
if picking:
pickid = picking_obj.create(cr, uid, {
'name': pick_name,
'origin': str(picking.origin or ''),
'type': ptype,
'note': picking.note,
'move_type': picking.move_type,
'auto_picking': todo[0][1][1] == 'auto',
'stock_journal_id': todo[0][1][3],
'company_id': todo[0][1][4] or res_obj._company_default_get(cr, uid, 'stock.company', context=context),
'address_id': picking.address_id.id,
'invoice_state': 'none',
'date': picking.date,
'sale_id':' sale_id' in picking._columns.keys() and picking.sale_id.id or False
})
pickid = self._create_chained_picking(cr, uid, pick_name,picking,ptype,todo,context)
else:
pickid = False
for move, (loc, auto, delay, journal, company_id, ptype) in todo: