Check qt
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user