diff --git a/fusion_plating/fusion_plating_configurator/__manifest__.py b/fusion_plating/fusion_plating_configurator/__manifest__.py index 8b0bd91b..faada38e 100644 --- a/fusion_plating/fusion_plating_configurator/__manifest__.py +++ b/fusion_plating/fusion_plating_configurator/__manifest__.py @@ -5,7 +5,7 @@ { 'name': 'Fusion Plating — Configurator', - 'version': '19.0.22.10.0', + 'version': '19.0.22.11.0', 'category': 'Manufacturing/Plating', 'summary': 'Quotation configurator with part catalog, coating configs, and formula-based pricing engine.', 'description': """ diff --git a/fusion_plating/fusion_plating_configurator/models/fp_part_catalog.py b/fusion_plating/fusion_plating_configurator/models/fp_part_catalog.py index 89ba1257..46413465 100644 --- a/fusion_plating/fusion_plating_configurator/models/fp_part_catalog.py +++ b/fusion_plating/fusion_plating_configurator/models/fp_part_catalog.py @@ -79,6 +79,7 @@ class FpPartCatalog(models.Model): partner_id = fields.Many2one( 'res.partner', string='Customer', required=True, ondelete='cascade', tracking=True, domain="[('customer_rank', '>', 0)]", + context={'default_customer_rank': 1}, # inline-created customers get rank=1 so they stay visible in this picker ) part_number = fields.Char(string='Part Number', required=True, tracking=True, help="Customer's part number (e.g. VS-R392007E01).") revision = fields.Char( diff --git a/fusion_plating/fusion_plating_configurator/models/fp_quote_configurator.py b/fusion_plating/fusion_plating_configurator/models/fp_quote_configurator.py index 3bef5f37..82089438 100644 --- a/fusion_plating/fusion_plating_configurator/models/fp_quote_configurator.py +++ b/fusion_plating/fusion_plating_configurator/models/fp_quote_configurator.py @@ -52,6 +52,7 @@ class FpQuoteConfigurator(models.Model): partner_id = fields.Many2one( 'res.partner', string='Customer', required=True, domain="[('customer_rank', '>', 0)]", + context={'default_customer_rank': 1}, # inline-created customers get rank=1 so they stay visible in this picker ) part_catalog_id = fields.Many2one( 'fp.part.catalog', string='Part (Catalog)', diff --git a/fusion_plating/fusion_plating_configurator/wizard/fp_direct_order_wizard.py b/fusion_plating/fusion_plating_configurator/wizard/fp_direct_order_wizard.py index 3b58de3a..f5bf2e11 100644 --- a/fusion_plating/fusion_plating_configurator/wizard/fp_direct_order_wizard.py +++ b/fusion_plating/fusion_plating_configurator/wizard/fp_direct_order_wizard.py @@ -62,6 +62,11 @@ class FpDirectOrderWizard(models.Model): partner_id = fields.Many2one( 'res.partner', string='Customer', domain="[('customer_rank', '>', 0)]", + # 2026-06-02: default customer_rank=1 so a customer created inline + # (quick-create) from the Express Order form is marked as a customer + # and stays visible in this picker AND the Customers menu (both filter + # customer_rank>0). Without it new customers got rank 0 and vanished. + context={'default_customer_rank': 1}, tracking=True, ) partner_invoice_id = fields.Many2one(