if move.state in ('confirmed','waiting','assigned','draft'):
if move.picking_id:
pickings[move.picking_id.id] = True
- if move.move_dest_id and move.move_dest_id.state=='waiting':
- self.write(cr, uid, [move.move_dest_id.id], {'state':'assigned'})
- if move.move_dest_id.picking_id:
- wf_service = netsvc.LocalService("workflow")
- wf_service.trg_write(uid, 'stock.picking', move.move_dest_id.picking_id.id, cr)
+ if move.move_dest_id and move.move_dest_id.state=='waiting':
+ self.write(cr, uid, [move.move_dest_id.id], {'state':'assigned'})
+ if move.move_dest_id.picking_id:
+ wf_service = netsvc.LocalService("workflow")
+ wf_service.trg_write(uid, 'stock.picking', move.move_dest_id.picking_id.id, cr)
self.write(cr, uid, ids, {'state':'cancel', 'move_dest_id': False})
- #for pick_id in pickings:
- # wf_service = netsvc.LocalService("workflow")
- # wf_service.trg_validate(uid, 'stock.picking', pick_id, 'button_cancel', cr)
- #ids2 = []
- #for res in self.read(cr, uid, ids, ['move_dest_id']):
- # if res['move_dest_id']:
- # ids2.append(res['move_dest_id'][0])
+ for pick in self.pool.get('stock.picking').browse(cr,uid,pickings.keys()):
+ cancel=False
+ for move in pick.move_lines:
+ if move.state=='cancel':
+ cancel=True
+ if move.state!='cancel':
+ cancel=False
+ if cancel:
+ self.pool.get('stock.picking').write(cr,uid,[pick.id],{'state':'cancel'})
wf_service = netsvc.LocalService("workflow")
for id in ids: