summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorRobot Odoo <xmo+roboto@odoo.com>2018-10-29 13:20:17 +0100
committerGitHub <noreply@github.com>2018-10-29 13:20:17 +0100
commitf2932f9f0a09eefec6eb798825dd4fdf7b7b2c91 (patch)
treec7867a333718ce833e4e437a0dc12da5ac5219e7 /addons
parentd5c31e231aecc130b695f914441a6c6d29b02f0a (diff)
parent5954cd563ed5960aa0ecf8fa8e36530554a0091d (diff)
[FIX] procurement_jit, stock: unreservation
We fix two problems with the 'unreserve' function on picking and sale order, When a sale order is edited, we perform 'do_unreserve' on picking, it is not necessary and make us loose the done quantity put on the picking so we remove it. When we unreserve a picking having a package level added through a put in pack or automatically added on reservation, the package level is set back to draft instead of being removed -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr closes odoo/odoo#28188
Diffstat (limited to 'addons')
-rw-r--r--addons/procurement_jit/sale.py1
-rw-r--r--addons/stock/models/stock_picking.py1
2 files changed, 1 insertions, 1 deletions
diff --git a/addons/procurement_jit/sale.py b/addons/procurement_jit/sale.py
index b35cd0e606f..9ad3cf50b1d 100644
--- a/addons/procurement_jit/sale.py
+++ b/addons/procurement_jit/sale.py
@@ -14,6 +14,5 @@ class SaleOrderLine(models.Model):
for order in orders:
reassign = order.picking_ids.filtered(lambda x: x.state=='confirmed' or (x.state in ['waiting', 'assigned'] and not x.printed))
if reassign:
- reassign.do_unreserve()
reassign.action_assign()
return res
diff --git a/addons/stock/models/stock_picking.py b/addons/stock/models/stock_picking.py
index 310f7b6bef5..fec28f96de1 100644
--- a/addons/stock/models/stock_picking.py
+++ b/addons/stock/models/stock_picking.py
@@ -682,6 +682,7 @@ class Picking(models.Model):
def do_unreserve(self):
for picking in self:
picking.move_lines._do_unreserve()
+ picking.package_level_ids.filtered(lambda p: not p.move_ids).unlink()
@api.multi
def button_validate(self):