From a7ceadd30bed3087e92fc685fd00c72728ad14b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Debauche=20St=C3=A9phane?= Date: Thu, 26 Dec 2019 10:45:33 +0000 Subject: [PATCH] [FIX] purchase_stock: fix `delay_alert` on stock move created from PO Add a field `delay_alert` on the purchase order line, and set in in `_prepare_stock_moves`. So, we can use this new field to set the value (`delay_alert_date`) on the stock moves. Task #1970595 --- addons/purchase_stock/models/purchase.py | 3 +++ addons/purchase_stock/models/stock_rule.py | 1 + 2 files changed, 4 insertions(+) diff --git a/addons/purchase_stock/models/purchase.py b/addons/purchase_stock/models/purchase.py index cb6044c7bd8..15655803ea8 100644 --- a/addons/purchase_stock/models/purchase.py +++ b/addons/purchase_stock/models/purchase.py @@ -236,6 +236,7 @@ class PurchaseOrderLine(models.Model): move_ids = fields.One2many('stock.move', 'purchase_line_id', string='Reservation', readonly=True, ondelete='set null', copy=False) orderpoint_id = fields.Many2one('stock.warehouse.orderpoint', 'Orderpoint') move_dest_ids = fields.One2many('stock.move', 'created_purchase_line_id', 'Downstream Moves') + delay_alert = fields.Boolean(string='Delay alert') propagate_date = fields.Boolean(string="Propagate Rescheduling", help='The rescheduling is propagated to the next move.') propagate_date_minimum_delta = fields.Integer(string='Reschedule if Higher Than', help='The change must be higher than this value to be propagated') propagate_cancel = fields.Boolean('Propagate cancellation', default=True) @@ -375,6 +376,7 @@ class PurchaseOrderLine(models.Model): 'propagate_date_minimum_delta': self.propagate_date_minimum_delta, 'description_picking': self.product_id._get_description(self.order_id.picking_type_id), 'propagate_cancel': self.propagate_cancel, + 'delay_alert': self.delay_alert, 'route_ids': self.order_id.picking_type_id.warehouse_id and [(6, 0, [x.id for x in self.order_id.picking_type_id.warehouse_id.route_ids])] or [], 'warehouse_id': self.order_id.picking_type_id.warehouse_id.id, } @@ -395,6 +397,7 @@ class PurchaseOrderLine(models.Model): res['move_dest_ids'] = [(4, x.id) for x in values.get('move_dest_ids', [])] res['orderpoint_id'] = values.get('orderpoint_id', False) and values.get('orderpoint_id').id res['propagate_cancel'] = values.get('propagate_cancel') + res['delay_alert'] = values.get('delay_alert') res['propagate_date'] = values.get('propagate_date') res['propagate_date_minimum_delta'] = values.get('propagate_date_minimum_delta') return res diff --git a/addons/purchase_stock/models/stock_rule.py b/addons/purchase_stock/models/stock_rule.py index 8ea37b615b8..174e930d52b 100644 --- a/addons/purchase_stock/models/stock_rule.py +++ b/addons/purchase_stock/models/stock_rule.py @@ -58,6 +58,7 @@ class StockRule(models.Model): partner = supplier.name # we put `supplier_info` in values for extensibility purposes procurement.values['supplier'] = supplier + procurement.values['delay_alert'] = rule.delay_alert procurement.values['propagate_date'] = rule.propagate_date procurement.values['propagate_date_minimum_delta'] = rule.propagate_date_minimum_delta procurement.values['propagate_cancel'] = rule.propagate_cancel