Files
gsinghpal d891002c84 feat(promote-customer-spec): Phase E — final removal of coating + treatment
DELETED entirely (model + view + ACL + data file + menu):
- fp.coating.config (configurator)
- fp.treatment (configurator + seeded data)
- fp.coating.thickness (configurator) — replaced by fp.recipe.thickness in Phase A
- fp.customer.price.list (configurator) — coating-keyed, no replacement

Field deletions:
- sale.order.x_fc_coating_config_id
- sale.order.line.x_fc_coating_config_id + x_fc_treatment_ids
- account.move.line.x_fc_coating_config_id
- fp.part.catalog.x_fc_default_coating_config_id + x_fc_default_treatment_ids
- fp.job.coating_config_id
- fp.pricing.rule.coating_config_id
- fp.quality.point.coating_config_ids
- fp.direct.order.line.coating_config_id + treatment_ids
- fp.sale.description.template.coating_config_id

Refactored:
- fp.quote.configurator.coating_config_id → recipe_id (now points at
  fusion.plating.process.node, the actual recipe). All compute, onchange,
  and matcher logic updated to use recipe directly. Quality inherit
  extends matcher with spec-tier scoring.
- fp.job._fp_create_certificates now reads spec from job.customer_spec_id
  and formats spec_reference as "code Rev rev". Same for thickness
  source — bake fields read from recipe_root (Phase A).
- fp.job.step.button_finish bake-window auto-spawn reads bake settings
  from recipe_root instead of coating.
- fp.certificate auto-fill spec_min_mils/max_mils from recipe (Phase A
  thickness fields) instead of coating.
- jobs/sale_order.py: job creation reads x_fc_customer_spec_id from
  line, drops coating refs and the legacy header-coating fallback.
- Wizards drop coating + treatment fields and refs.
- Configurator views drop x_fc_coating_config_id + x_fc_treatment_ids
  fields entirely. Quality inherits re-anchor on stable fields
  (x_fc_part_catalog_id, x_fc_internal_description, default_process_id,
  process_variant_id, substrate_material) so they keep working.
- Reports drop coating fallback elifs; print recipe / spec.
- Tablet payload drops coating_config_id from job.read fields.

Skipped (deferred to backlog):
- fusion_plating_bridge_mrp — module is uninstalled per Sub 11; source
  files retain coating refs but no runtime impact.
- fusion_plating_portal — circular dep (portal → quality → certs →
  portal). Customer-facing portal coating picker stays for now;
  promote-spec polish is a separate sub-project.

Verification: grep for "coating_config_id|fp.coating.config|
fp.treatment|fp.coating.thickness" in live (non-bridge_mrp,
non-portal, non-script, non-test) Python/XML/CSV returns 3 hits,
all in module / class docstrings explaining Phase E history.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-15 02:00:41 -04:00

6.1 KiB

1idnamemodel_id:idgroup_id:idperm_readperm_writeperm_createperm_unlink
2access_fp_part_catalog_operatorfp.part.catalog.operatormodel_fp_part_catalogfusion_plating.group_fusion_plating_operator1000
3access_fp_part_catalog_estimatorfp.part.catalog.estimatormodel_fp_part_catalogfusion_plating_configurator.group_fp_estimator1110
4access_fp_part_catalog_managerfp.part.catalog.managermodel_fp_part_catalogfusion_plating.group_fusion_plating_manager1111
5access_fp_pricing_rule_operatorfp.pricing.rule.operatormodel_fp_pricing_rulefusion_plating.group_fusion_plating_operator1000
6access_fp_pricing_rule_estimatorfp.pricing.rule.estimatormodel_fp_pricing_rulefusion_plating_configurator.group_fp_estimator1110
7access_fp_pricing_rule_managerfp.pricing.rule.managermodel_fp_pricing_rulefusion_plating.group_fusion_plating_manager1111
8access_fp_pricing_surcharge_operatorfp.pricing.complexity.surcharge.operatormodel_fp_pricing_complexity_surchargefusion_plating.group_fusion_plating_operator1000
9access_fp_pricing_surcharge_estimatorfp.pricing.complexity.surcharge.estimatormodel_fp_pricing_complexity_surchargefusion_plating_configurator.group_fp_estimator1110
10access_fp_pricing_surcharge_managerfp.pricing.complexity.surcharge.managermodel_fp_pricing_complexity_surchargefusion_plating.group_fusion_plating_manager1111
11access_fp_quote_configurator_operatorfp.quote.configurator.operatormodel_fp_quote_configuratorfusion_plating.group_fusion_plating_operator1000
12access_fp_quote_configurator_estimatorfp.quote.configurator.estimatormodel_fp_quote_configuratorfusion_plating_configurator.group_fp_estimator1110
13access_fp_quote_configurator_managerfp.quote.configurator.managermodel_fp_quote_configuratorfusion_plating.group_fusion_plating_manager1111
14access_fp_direct_order_wizard_estimatorfp.direct.order.wizard.estimatormodel_fp_direct_order_wizardfusion_plating_configurator.group_fp_estimator1111
15access_fp_direct_order_wizard_managerfp.direct.order.wizard.managermodel_fp_direct_order_wizardfusion_plating.group_fusion_plating_manager1111
16access_fp_direct_order_line_estimatorfp.direct.order.line.estimatormodel_fp_direct_order_linefusion_plating_configurator.group_fp_estimator1111
17access_fp_direct_order_line_managerfp.direct.order.line.managermodel_fp_direct_order_linefusion_plating.group_fusion_plating_manager1111
18access_fp_add_from_so_wizard_estimatorfp.add.from.so.wizard.estimatormodel_fp_add_from_so_wizardfusion_plating_configurator.group_fp_estimator1111
19access_fp_add_from_so_wizard_managerfp.add.from.so.wizard.managermodel_fp_add_from_so_wizardfusion_plating.group_fusion_plating_manager1111
20access_fp_add_from_quote_wizard_estimatorfp.add.from.quote.wizard.estimatormodel_fp_add_from_quote_wizardfusion_plating_configurator.group_fp_estimator1111
21access_fp_add_from_quote_wizard_managerfp.add.from.quote.wizard.managermodel_fp_add_from_quote_wizardfusion_plating.group_fusion_plating_manager1111
22access_fp_quote_promote_wizard_estimatorfp.quote.promote.wizard.estimatormodel_fp_quote_promote_wizardfusion_plating_configurator.group_fp_estimator1111
23access_fp_quote_promote_wizard_managerfp.quote.promote.wizard.managermodel_fp_quote_promote_wizardfusion_plating.group_fusion_plating_manager1111
24access_fp_sale_assembly_userfp.sale.assembly.usermodel_fp_sale_assemblybase.group_user1000
25access_fp_sale_assembly_estimatorfp.sale.assembly.estimatormodel_fp_sale_assemblyfusion_plating_configurator.group_fp_estimator1111
26access_fp_sale_assembly_managerfp.sale.assembly.managermodel_fp_sale_assemblyfusion_plating.group_fusion_plating_manager1111
27access_fp_sale_assembly_line_userfp.sale.assembly.line.usermodel_fp_sale_assembly_linebase.group_user1000
28access_fp_sale_assembly_line_estimatorfp.sale.assembly.line.estimatormodel_fp_sale_assembly_linefusion_plating_configurator.group_fp_estimator1111
29access_fp_sale_assembly_line_managerfp.sale.assembly.line.managermodel_fp_sale_assembly_linefusion_plating.group_fusion_plating_manager1111
30access_fp_part_import_wizard_estimatorfp.part.catalog.import.wizard.estimatormodel_fp_part_catalog_import_wizardfusion_plating_configurator.group_fp_estimator1111
31access_fp_part_import_wizard_managerfp.part.catalog.import.wizard.managermodel_fp_part_catalog_import_wizardfusion_plating.group_fusion_plating_manager1111
32access_fp_sale_desc_template_userfp.sale.description.template.usermodel_fp_sale_description_templatebase.group_user1000
33access_fp_sale_desc_template_estimatorfp.sale.description.template.estimatormodel_fp_sale_description_templatefusion_plating_configurator.group_fp_estimator1110
34access_fp_sale_desc_template_managerfp.sale.description.template.managermodel_fp_sale_description_templatefusion_plating.group_fusion_plating_manager1111
35access_fp_serial_userfp.serial.usermodel_fp_serialbase.group_user1000
36access_fp_serial_estimatorfp.serial.estimatormodel_fp_serialfusion_plating_configurator.group_fp_estimator1110
37access_fp_serial_managerfp.serial.managermodel_fp_serialfusion_plating.group_fusion_plating_manager1111
38access_fp_serial_bulk_add_estimatorfp.serial.bulk.add.estimatormodel_fp_serial_bulk_add_wizardfusion_plating_configurator.group_fp_estimator1111
39access_fp_serial_bulk_add_managerfp.serial.bulk.add.managermodel_fp_serial_bulk_add_wizardfusion_plating.group_fusion_plating_manager1111
40access_fp_part_revision_bump_estimatorfp.part.revision.bump.estimatormodel_fp_part_revision_bump_wizardfusion_plating_configurator.group_fp_estimator1111
41access_fp_part_revision_bump_managerfp.part.revision.bump.managermodel_fp_part_revision_bump_wizardfusion_plating.group_fusion_plating_manager1111
42access_fp_part_material_userfp.part.material.usermodel_fp_part_materialbase.group_user1000
43access_fp_part_material_estimatorfp.part.material.estimatormodel_fp_part_materialfusion_plating_configurator.group_fp_estimator1110
44access_fp_part_material_managerfp.part.material.managermodel_fp_part_materialfusion_plating.group_fusion_plating_manager1111