This commit is contained in:
2026-05-14 15:42:59 +02:00
parent 5f159b06dd
commit 1a041fdcbf

View File

@@ -195,9 +195,30 @@ class Lot(metaclass=PoolMeta):
('diff', diff),
]))
@classmethod
def _fresh_consistency_line(cls, line):
if not line:
return None
line_id = getattr(line, 'id', None)
if not line_id:
return line
if getattr(line, 'purchase', None):
return Pool().get('purchase.line')(line_id)
if getattr(line, 'sale', None):
return Pool().get('sale.line')(line_id)
return line
@classmethod
def assert_lines_quantity_consistency(cls, lines):
seen = set()
for line in lines:
line = cls._fresh_consistency_line(line)
line_id = (
getattr(line, '__name__', None),
getattr(line, 'id', id(line)))
if line_id in seen:
continue
seen.add(line_id)
cls._assert_line_quantity_consistency(line)
@classmethod