Do not copy number of lot with sequence

Closes #11593
This commit is contained in:
Cédric Krier
2022-12-25 11:40:25 +01:00
parent d76c5d0a0e
commit b5aebfe3d4
3 changed files with 24 additions and 0 deletions
+2
View File
@@ -1,3 +1,5 @@
* Do not copy number of lot with sequence
Version 6.6.0 - 2022-10-31
--------------------------
* Bug fixes (see mercurial logs for details)
+8
View File
@@ -131,6 +131,14 @@ class Lot(ModelSQL, ModelView, LotMixin, StockMixin):
if self.product:
return self.product.default_uom.digits
@classmethod
def copy(cls, lots, default=None):
default = default.copy() if default else {}
has_sequence = {l.id: l.has_sequence for l in lots}
default.setdefault(
'number', lambda o: None if has_sequence[o['id']] else o['number'])
return super().copy(lots, default=default)
@classmethod
def create(cls, vlist):
vlist = [v.copy() for v in vlist]
@@ -51,3 +51,17 @@ Create lot without number::
>>> lot.number
'1'
Copy set a new number::
>>> lot2, = lot.duplicate()
>>> lot2.number
'2'
Copy without sequence keep same number::
>>> template.lot_sequence = None
>>> template.save()
>>> lot3, = lot.duplicate()
>>> lot3.number
'1'