From 7d27db69c633751649e4aa690650b2b60f59bff5 Mon Sep 17 00:00:00 2001 From: gsinghpal Date: Fri, 15 May 2026 07:11:41 -0400 Subject: [PATCH] fix(promote-customer-spec): leftover has_cost_data ref in _compute_margin Phase E removed the coating-rollup loop but left a stale `has_cost_data` reference in the percent computation. NameError on every SO list / form load. Margin is "not available" until recipe-level cost data exists (backlog item). Set all three margin fields to 0 / False explicitly so no stale references remain. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../fusion_plating_configurator/models/sale_order.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/fusion_plating/fusion_plating_configurator/models/sale_order.py b/fusion_plating/fusion_plating_configurator/models/sale_order.py index 077b161f..a85d1ee4 100644 --- a/fusion_plating/fusion_plating_configurator/models/sale_order.py +++ b/fusion_plating/fusion_plating_configurator/models/sale_order.py @@ -563,11 +563,8 @@ class SaleOrder(models.Model): """ for rec in self: rec.x_fc_margin_available = False - rec.x_fc_margin_amount = (rec.amount_untaxed or 0) - rec.x_fc_margin_percent = ( - (rec.x_fc_margin_amount / rec.amount_untaxed) - if (rec.amount_untaxed and has_cost_data) else 0.0 - ) + rec.x_fc_margin_amount = 0.0 + rec.x_fc_margin_percent = 0.0 @api.onchange('upload_rfq_file') def _onchange_upload_rfq_file(self):