Use related sale line on update_sale process.
This commit is contained in:
parent
7be685c5ff
commit
fa01bc0fed
10
load.py
10
load.py
|
@ -250,7 +250,7 @@ class LoadOrder(metaclass=PoolMeta):
|
|||
if not _add and len(uls) == len(self.unit_loads):
|
||||
self.raise_user_error('unload_cancel', self.rec_name)
|
||||
|
||||
keyfunc = partial(self._group_line_key, uls)
|
||||
keyfunc = partial(self._group_sale_line_key, uls)
|
||||
items = sorted(uls, key=keyfunc)
|
||||
for key, grouped_items in groupby(items, key=keyfunc):
|
||||
_groupitems = list(grouped_items)
|
||||
|
@ -269,7 +269,7 @@ class LoadOrder(metaclass=PoolMeta):
|
|||
sale_line = None
|
||||
if self.sale:
|
||||
sale_line = [l for l in self.sale.lines
|
||||
if get_line_values(l) == list(key_dict.values())]
|
||||
if get_line_values(l) == list(key_dict.values())]
|
||||
|
||||
if self.type == 'out':
|
||||
if not sale_line:
|
||||
|
@ -513,6 +513,12 @@ class LoadOrder(metaclass=PoolMeta):
|
|||
return res + (('id', item.load_line.origin.id), )
|
||||
return res
|
||||
|
||||
@classmethod
|
||||
def _group_sale_line_key(cls, items, item):
|
||||
if getattr(item, 'sale_line', None):
|
||||
return (('id', item.sale_line.id), )
|
||||
return cls._group_line_key(items, item)
|
||||
|
||||
|
||||
class LoadOrderLine(metaclass=PoolMeta):
|
||||
__name__ = 'carrier.load.order.line'
|
||||
|
|
Loading…
Reference in New Issue