[FIX] stock, product_expiry: fixes of removal fefo and putaway processing

bzr revid: qdp-launchpad@openerp.com-20140414083303-5vwlnakof0vcbtri
This commit is contained in:
Quentin (OpenERP) 2014-04-14 10:33:03 +02:00
parent 2fd72600fa
commit 4987c9d42d
2 changed files with 11 additions and 11 deletions

View File

@ -78,8 +78,16 @@ class stock_production_lot(osv.osv):
class stock_quant(osv.osv):
_inherit = 'stock.quant'
_column = {
'removal_date': fields.related('lot_id', 'removal_date', type='date', string='Removal Date', store=True),
def _get_quants(self, cr, uid, ids, context=None):
return self.pool.get('stock.quant').search(cr, uid, [('lot_id', 'in', ids)], context=context)
_columns = {
'removal_date': fields.related('lot_id', 'removal_date', type='datetime', string='Removal Date',
store={
'stock.quant': (lambda self, cr, uid, ids, ctx: ids, ['lot_id'], 20),
'stock.production.lot': (_get_quants, ['removal_date'], 20),
}),
}
def apply_removal_strategy(self, cr, uid, location, product, qty, domain, removal_strategy, context=None):

View File

@ -155,7 +155,7 @@ class stock_location(osv.osv):
loc = location
while loc:
if loc.putaway_strategy_id:
res = putaway_obj.putaway_strat_apply(cr, uid, loc.putaway_strategy_id, product, context=context)
res = putaway_obj.putaway_apply(cr, uid, loc.putaway_strategy_id, product, context=context)
if res:
return res
loc = loc.location_id
@ -922,13 +922,6 @@ class stock_picking(osv.osv):
self.action_assign(cr, uid, picking_ids, context=context)
self.do_prepare_partial(cr, uid, picking_ids, context=context)
def _picking_putaway_resolution(self, cr, uid, picking, product, putaway, context=None):
if putaway.method == 'fixed':
for strat in putaway.fixed_location_ids:
if product.categ_id.id == strat.category_id.id:
return strat.fixed_location_id.id
return False
def _get_top_level_packages(self, cr, uid, quants_suggested_locations, context=None):
"""This method searches for the higher level packages that can be moved as a single operation, given a list of quants
to move and their suggested destination, and returns the list of matching packages.
@ -988,7 +981,6 @@ class stock_picking(osv.osv):
else:
location = self.pool.get('stock.location').get_putaway_strategy(cr, uid, picking.location_dest_id, product, context=context)
product_putaway_strats[product.id] = location
location = self._picking_putaway_resolution(cr, uid, picking, product, putaway_strat, context=context)
return location or picking.picking_type_id.default_location_dest_id.id or picking.location_dest_id.id
pack_obj = self.pool.get("stock.quant.package")