diff --git a/fusion_plating/fusion_plating_configurator/models/sale_order.py b/fusion_plating/fusion_plating_configurator/models/sale_order.py index 9ca54c22..55d95c2c 100644 --- a/fusion_plating/fusion_plating_configurator/models/sale_order.py +++ b/fusion_plating/fusion_plating_configurator/models/sale_order.py @@ -886,4 +886,19 @@ class SaleOrder(models.Model): line.x_fc_job_number = Sequence.next_by_code( 'fp.job.number' ) or False + # Per-part description history (spec 2026-05-29). After super() + + # the parent-number rename, so.name is the final order number. + for so in self: + for line in so.order_line: + if line.display_type: + continue + part = (line.x_fc_part_catalog_id + if 'x_fc_part_catalog_id' in line._fields else False) + if not part: + continue + part._fp_save_description_version( + internal_desc=line.x_fc_internal_description or '', + customer_desc=line.name or '', + order=so, line=line, + ) return res