summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/purchase_stock/models/purchase.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/addons/purchase_stock/models/purchase.py b/addons/purchase_stock/models/purchase.py
index 1a3c4987b0c..c6ebda99811 100644
--- a/addons/purchase_stock/models/purchase.py
+++ b/addons/purchase_stock/models/purchase.py
@@ -340,6 +340,18 @@ class PurchaseOrderLine(models.Model):
self.filtered(lambda l: l.order_id.state == 'purchase')._create_or_update_picking()
return result
+ def unlink(self):
+ self.move_ids._action_cancel()
+
+ ppg_cancel_lines = self.filtered(lambda line: line.propagate_cancel)
+ ppg_cancel_lines.move_dest_ids._action_cancel()
+
+ not_ppg_cancel_lines = self.filtered(lambda line: not line.propagate_cancel)
+ not_ppg_cancel_lines.move_dest_ids.write({'procure_method': 'make_to_stock'})
+ not_ppg_cancel_lines.move_dest_ids.recompute_state()
+
+ return super().unlink()
+
# --------------------------------------------------
# Business methods
# --------------------------------------------------