diff --git a/addons/stock/stock.py b/addons/stock/stock.py index 40f9fb38f5b..77e8d0123d1 100644 --- a/addons/stock/stock.py +++ b/addons/stock/stock.py @@ -600,8 +600,9 @@ class stock_production_lot(osv.osv): 'name': lambda x,y,z,c: x.pool.get('ir.sequence').get(y,z,'stock.lot.serial'), } _sql_constraints = [ - ('name_uniq', 'unique (name)', 'The serial must be unique !'), + ('name_ref_uniq', 'unique (name, ref)', 'The serial/ref must be unique !'), ] + stock_production_lot() class stock_production_lot_revision(osv.osv): diff --git a/addons/stock/stock_sequence.xml b/addons/stock/stock_sequence.xml index 6feee6dc1fe..a29be6e1063 100644 --- a/addons/stock/stock_sequence.xml +++ b/addons/stock/stock_sequence.xml @@ -41,6 +41,15 @@ Stock production lots stock.lot.serial + + Stock production sequence + stock.lot.serial + 1234567890 + 7 + 1 + 1 + + Stock Lot Tracking stock.lot.tracking diff --git a/addons/stock/wizard/wizard_track_line.py b/addons/stock/wizard/wizard_track_line.py index 880cadf35f2..caf45e46e73 100644 --- a/addons/stock/wizard/wizard_track_line.py +++ b/addons/stock/wizard/wizard_track_line.py @@ -57,14 +57,17 @@ fields = { def _track_lines(self, cr, uid, data, context): move_id = data['id'] - prodlot_obj = pooler.get_pool(cr.dbname).get('stock.production.lot') - move_obj = pooler.get_pool(cr.dbname).get('stock.move') - sequence = pooler.get_pool(cr.dbname).get('ir.sequence').get(cr, uid, 'stock.lot.serial') - production_obj = pooler.get_pool(cr.dbname).get('mrp.production') + pool = pooler.get_pool(cr.dbname) + prodlot_obj = pool.get('stock.production.lot') + move_obj = pool.get('stock.move') + production_obj = pool.get('mrp.production') + ir_sequence_obj = pool.get('ir.sequence') + + sequence = ir_sequence_obj.get(cr, uid, 'stock.lot.serial') + if not sequence: + raise wizard.except_wizard('Error!', 'No production sequence defined') if data['form']['tracking_prefix']: sequence=data['form']['tracking_prefix']+'/'+(sequence or '') - if not sequence: - raise wizard.except_wizard('Error !', 'No tracking prefix defined') move = move_obj.browse(cr, uid, [move_id])[0] quantity=data['form']['quantity']