diff --git a/addons/purchase/models/purchase.py b/addons/purchase/models/purchase.py index 7ad2a86ae5e..9c8c9b00f57 100644 --- a/addons/purchase/models/purchase.py +++ b/addons/purchase/models/purchase.py @@ -85,7 +85,6 @@ class PurchaseOrder(models.Model): # We keep a limited scope on purpose. Ideally, we should also use move_orig_ids and # do some recursive search, but that could be prohibitive if not done correctly. moves = line.move_ids | line.move_ids.mapped('returned_move_ids') - moves = moves.filtered(lambda r: r.state != 'cancel') pickings |= moves.mapped('picking_id') order.picking_ids = pickings order.picking_count = len(pickings) @@ -666,12 +665,7 @@ class PurchaseOrderLine(models.Model): break else: diff_qty += move.product_qty - move.do_unreserve() - move.state = 'draft' - picking = move.picking_id - move.unlink() - if not picking.move_lines: - picking.unlink() + move.action_cancel() else: raise UserError('You cannot decrease the ordered quantity below the received quantity.\n' 'Create a return first.') diff --git a/addons/stock/views/stock_picking_views.xml b/addons/stock/views/stock_picking_views.xml index 66b287e8cab..ac9c856bdb3 100644 --- a/addons/stock/views/stock_picking_views.xml +++ b/addons/stock/views/stock_picking_views.xml @@ -296,7 +296,7 @@ - +