Allow to unload all ULs.

This commit refs #14035
This commit is contained in:
Sergio Morillo 2020-07-08 15:55:20 +02:00
parent bec7652b72
commit 32b0b4bff4
2 changed files with 5 additions and 13 deletions

12
load.py
View File

@ -101,8 +101,6 @@ class LoadOrder(metaclass=PoolMeta):
'pending_uls': 'You have loaded less ULs (%s) than expected (%s).',
'sale_confirmed': 'Cannot force loading ULs because sale "%s" is '
'confirmed.',
'unload_cancel': 'Cannot force unloading all ULs. Load order "%s" '
'must be cancelled completely.',
'no_uls': 'Load order "%s" must have some UL to be finished.'
})
@ -271,9 +269,6 @@ class LoadOrder(metaclass=PoolMeta):
if self.sale.state not in ('draft', 'quotation'):
self.raise_user_error('sale_confirmed', self.sale.rec_name)
if not _add and len(uls) == len(self.unit_loads):
self.raise_user_error('unload_cancel', self.rec_name)
keyfunc = partial(self._group_sale_line_key, uls)
items = sorted(uls, key=keyfunc)
for key, grouped_items in groupby(items, key=keyfunc):
@ -349,8 +344,11 @@ class LoadOrder(metaclass=PoolMeta):
def _update_sale_line(self, sale_line, items, _add=True):
_sign = 1 if _add else -1
sale_line.ul_quantity += _sign * len(items)
sale_line.quantity += _sign * sum(sale_line.unit.compute_qty(
item.uom, item.quantity, sale_line.unit) for item in items)
sale_line.cases_quantity += sum(item.cases_quantity for item in items)
sale_line.quantity += _sign * sale_line.unit.round(
sum(sale_line.unit.compute_qty(item.uom, item.quantity,
sale_line.unit) for item in items))
return True
def _get_items(self):
return self.unit_loads

View File

@ -42,12 +42,6 @@ msgstr ""
"No puede forzar la carga de UdCs porque la Venta asociada \"%s\" está "
"confirmada."
msgctxt "error:carrier.load.order:"
msgid ""
"Cannot force unloading all ULs. Load order \"%s\" must be cancelled "
"completely."
msgstr "No puede descargar todas las UdCs de la Orden \"%s\". Debe volver a iniciarse."
msgctxt "error:carrier.load.order:"
msgid "Load order \"%s\" must have some UL to be finished."
msgstr "La Orden de carga \"%s\" debe contener alguna UdC para poder finalizarse."