[FIX] stock: when trying to assign quants on move, watch for picking priority and date_expected
bzr revid: qdp-launchpad@openerp.com-20140116105556-u2jl2c37fnuthf0h
This commit is contained in:
parent
742d55de2c
commit
2f8864e0a0
|
@ -278,7 +278,7 @@ class procurement_order(osv.osv):
|
|||
self. _procure_orderpoint_confirm(cr, uid, automatic=False,use_new_cursor=False, context=context, user_id=False)
|
||||
|
||||
#Search all confirmed stock_moves and try to assign them
|
||||
confirmed_ids = move_obj.search(cr, uid, [('state', '=', 'confirmed'), ('company_id','=', company.id)], limit = None, context=context) #Type = stockable product?
|
||||
confirmed_ids = move_obj.search(cr, uid, [('state', '=', 'confirmed'), ('company_id','=', company.id)], limit=None, order='picking_priority desc, date_expected asc', context=context)
|
||||
for x in xrange(0, len(confirmed_ids), 100):
|
||||
move_obj.action_assign(cr, uid, confirmed_ids[x:x+100], context=context)
|
||||
if use_new_cursor:
|
||||
|
|
|
@ -1243,6 +1243,12 @@ class stock_move(osv.osv):
|
|||
res.add(quant.reservation_id.id)
|
||||
return list(res)
|
||||
|
||||
def _get_move_ids(self, cr, uid, ids, context=None):
|
||||
res = []
|
||||
for picking in self.browse(cr, uid, ids, context=context):
|
||||
res += [x.id for x in picking.move_lines]
|
||||
return res
|
||||
|
||||
_columns = {
|
||||
'name': fields.char('Description', required=True, select=True),
|
||||
'priority': fields.selection([('0', 'Not urgent'), ('1', 'Urgent')], 'Priority'),
|
||||
|
@ -1281,7 +1287,7 @@ class stock_move(osv.osv):
|
|||
'move_orig_ids': fields.one2many('stock.move', 'move_dest_id', 'Original Move', help="Optional: previous stock move when chaining them", select=True),
|
||||
|
||||
'picking_id': fields.many2one('stock.picking', 'Reference', select=True, states={'done': [('readonly', True)]}),
|
||||
'picking_priority': fields.related('picking_id', 'priority', type='selection', selection=[('0', 'Low'), ('1', 'Normal'), ('2', 'High')], string='Picking Priority'),
|
||||
'picking_priority': fields.related('picking_id', 'priority', type='selection', selection=[('0', 'Low'), ('1', 'Normal'), ('2', 'High')], string='Picking Priority', store={'stock.picking': (_get_move_ids, ['priority'], 10)}),
|
||||
'note': fields.text('Notes'),
|
||||
'state': fields.selection([('draft', 'New'),
|
||||
('cancel', 'Cancelled'),
|
||||
|
@ -2904,7 +2910,7 @@ class stock_location_path(osv.osv):
|
|||
|
||||
def _get_rules(self, cr, uid, ids, context=None):
|
||||
res = []
|
||||
for route in self.browse(cr, uid, ids):
|
||||
for route in self.browse(cr, uid, ids, context=context):
|
||||
res += [x.id for x in route.push_ids]
|
||||
return res
|
||||
|
||||
|
|
Loading…
Reference in New Issue