[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
This commit is contained in:
Debauche Stéphane
2019-12-30 15:13:49 +00:00
parent a73bed91a0
commit a7ceadd30b
2 changed files with 4 additions and 0 deletions
+3
View File
@@ -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
@@ -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