From 6e2beb699ea1782d8fef6c1fecd6a761156c6a46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Thu, 11 Mar 2021 23:00:10 +0100 Subject: [PATCH] Store directly sequence type to sequence issue10122 review351381002 --- ir.xml | 1 - product.py | 10 ++++++---- stock.py | 3 +-- tests/scenario_stock_lot_number.rst | 5 ++++- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/ir.xml b/ir.xml index 7a2aa50218..91a87901a7 100644 --- a/ir.xml +++ b/ir.xml @@ -5,7 +5,6 @@ this repository contains the full copyright notices and license terms. --> Stock Lot - stock.lot diff --git a/product.py b/product.py index 7fcd92d476..4f4c308c47 100644 --- a/product.py +++ b/product.py @@ -4,7 +4,7 @@ from sql import Table from trytond.config import config from trytond.model import ModelSQL, ValueMixin, fields -from trytond.pyson import Eval +from trytond.pyson import Eval, Id from trytond.pool import PoolMeta, Pool from trytond.transaction import Transaction @@ -16,7 +16,8 @@ class Configuration(metaclass=PoolMeta): fields.Many2One( 'ir.sequence', "Default Lot Sequence", domain=[ - ('code', '=', 'stock.lot'), + ('sequence_type', '=', + Id('stock_lot', 'sequence_type_stock_lot')), ])) @@ -26,7 +27,8 @@ class ConfigurationDefaultLotSequence(ModelSQL, ValueMixin): default_lot_sequence = fields.Many2One( 'ir.sequence', "Default Lot Sequence", domain=[ - ('code', '=', 'stock.lot'), + ('sequence_type', '=', + Id('stock_lot', 'sequence_type_stock_lot')), ]) @@ -48,7 +50,7 @@ class Template(metaclass=PoolMeta): lot_sequence = fields.Many2One( 'ir.sequence', "Lot Sequence", domain=[ - ('code', '=', 'stock.lot'), + ('sequence_type', '=', Id('stock_lot', 'sequence_type_stock_lot')), ], states={ 'invisible': ~Eval('type').in_(['goods', 'assets']), diff --git a/stock.py b/stock.py index e7165f8b9b..477a5db293 100644 --- a/stock.py +++ b/stock.py @@ -125,11 +125,10 @@ class Lot(ModelSQL, ModelView, LotMixin, StockMixin): def _new_number(cls, values): pool = Pool() Product = pool.get('product.product') - Sequence = pool.get('ir.sequence') if values.get('product'): product = Product(values['product']) if product.lot_sequence: - return Sequence.get_id(product.lot_sequence.id) + return product.lot_sequence.get() @classmethod @check_no_move diff --git a/tests/scenario_stock_lot_number.rst b/tests/scenario_stock_lot_number.rst index b14ffa6a16..3254cabc97 100644 --- a/tests/scenario_stock_lot_number.rst +++ b/tests/scenario_stock_lot_number.rst @@ -15,7 +15,10 @@ Activate modules:: Create lot sequence:: >>> Sequence = Model.get('ir.sequence') - >>> sequence = Sequence(name="Lot", code='stock.lot') + >>> SequenceType = Model.get('ir.sequence.type') + >>> sequence_type, = SequenceType.find( + ... [('name', '=', "Stock Lot")], limit=1) + >>> sequence = Sequence(name="Lot", sequence_type=sequence_type) >>> sequence.save() Set default sequence::