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>
6.1 KiB
6.1 KiB
| 1 | id | name | model_id:id | group_id:id | perm_read | perm_write | perm_create | perm_unlink |
|---|---|---|---|---|---|---|---|---|
| 2 | access_fp_part_catalog_operator | fp.part.catalog.operator | model_fp_part_catalog | fusion_plating.group_fusion_plating_operator | 1 | 0 | 0 | 0 |
| 3 | access_fp_part_catalog_estimator | fp.part.catalog.estimator | model_fp_part_catalog | fusion_plating_configurator.group_fp_estimator | 1 | 1 | 1 | 0 |
| 4 | access_fp_part_catalog_manager | fp.part.catalog.manager | model_fp_part_catalog | fusion_plating.group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 5 | access_fp_pricing_rule_operator | fp.pricing.rule.operator | model_fp_pricing_rule | fusion_plating.group_fusion_plating_operator | 1 | 0 | 0 | 0 |
| 6 | access_fp_pricing_rule_estimator | fp.pricing.rule.estimator | model_fp_pricing_rule | fusion_plating_configurator.group_fp_estimator | 1 | 1 | 1 | 0 |
| 7 | access_fp_pricing_rule_manager | fp.pricing.rule.manager | model_fp_pricing_rule | fusion_plating.group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 8 | access_fp_pricing_surcharge_operator | fp.pricing.complexity.surcharge.operator | model_fp_pricing_complexity_surcharge | fusion_plating.group_fusion_plating_operator | 1 | 0 | 0 | 0 |
| 9 | access_fp_pricing_surcharge_estimator | fp.pricing.complexity.surcharge.estimator | model_fp_pricing_complexity_surcharge | fusion_plating_configurator.group_fp_estimator | 1 | 1 | 1 | 0 |
| 10 | access_fp_pricing_surcharge_manager | fp.pricing.complexity.surcharge.manager | model_fp_pricing_complexity_surcharge | fusion_plating.group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 11 | access_fp_quote_configurator_operator | fp.quote.configurator.operator | model_fp_quote_configurator | fusion_plating.group_fusion_plating_operator | 1 | 0 | 0 | 0 |
| 12 | access_fp_quote_configurator_estimator | fp.quote.configurator.estimator | model_fp_quote_configurator | fusion_plating_configurator.group_fp_estimator | 1 | 1 | 1 | 0 |
| 13 | access_fp_quote_configurator_manager | fp.quote.configurator.manager | model_fp_quote_configurator | fusion_plating.group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 14 | access_fp_direct_order_wizard_estimator | fp.direct.order.wizard.estimator | model_fp_direct_order_wizard | fusion_plating_configurator.group_fp_estimator | 1 | 1 | 1 | 1 |
| 15 | access_fp_direct_order_wizard_manager | fp.direct.order.wizard.manager | model_fp_direct_order_wizard | fusion_plating.group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 16 | access_fp_direct_order_line_estimator | fp.direct.order.line.estimator | model_fp_direct_order_line | fusion_plating_configurator.group_fp_estimator | 1 | 1 | 1 | 1 |
| 17 | access_fp_direct_order_line_manager | fp.direct.order.line.manager | model_fp_direct_order_line | fusion_plating.group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 18 | access_fp_add_from_so_wizard_estimator | fp.add.from.so.wizard.estimator | model_fp_add_from_so_wizard | fusion_plating_configurator.group_fp_estimator | 1 | 1 | 1 | 1 |
| 19 | access_fp_add_from_so_wizard_manager | fp.add.from.so.wizard.manager | model_fp_add_from_so_wizard | fusion_plating.group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 20 | access_fp_add_from_quote_wizard_estimator | fp.add.from.quote.wizard.estimator | model_fp_add_from_quote_wizard | fusion_plating_configurator.group_fp_estimator | 1 | 1 | 1 | 1 |
| 21 | access_fp_add_from_quote_wizard_manager | fp.add.from.quote.wizard.manager | model_fp_add_from_quote_wizard | fusion_plating.group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 22 | access_fp_quote_promote_wizard_estimator | fp.quote.promote.wizard.estimator | model_fp_quote_promote_wizard | fusion_plating_configurator.group_fp_estimator | 1 | 1 | 1 | 1 |
| 23 | access_fp_quote_promote_wizard_manager | fp.quote.promote.wizard.manager | model_fp_quote_promote_wizard | fusion_plating.group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 24 | access_fp_sale_assembly_user | fp.sale.assembly.user | model_fp_sale_assembly | base.group_user | 1 | 0 | 0 | 0 |
| 25 | access_fp_sale_assembly_estimator | fp.sale.assembly.estimator | model_fp_sale_assembly | fusion_plating_configurator.group_fp_estimator | 1 | 1 | 1 | 1 |
| 26 | access_fp_sale_assembly_manager | fp.sale.assembly.manager | model_fp_sale_assembly | fusion_plating.group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 27 | access_fp_sale_assembly_line_user | fp.sale.assembly.line.user | model_fp_sale_assembly_line | base.group_user | 1 | 0 | 0 | 0 |
| 28 | access_fp_sale_assembly_line_estimator | fp.sale.assembly.line.estimator | model_fp_sale_assembly_line | fusion_plating_configurator.group_fp_estimator | 1 | 1 | 1 | 1 |
| 29 | access_fp_sale_assembly_line_manager | fp.sale.assembly.line.manager | model_fp_sale_assembly_line | fusion_plating.group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 30 | access_fp_part_import_wizard_estimator | fp.part.catalog.import.wizard.estimator | model_fp_part_catalog_import_wizard | fusion_plating_configurator.group_fp_estimator | 1 | 1 | 1 | 1 |
| 31 | access_fp_part_import_wizard_manager | fp.part.catalog.import.wizard.manager | model_fp_part_catalog_import_wizard | fusion_plating.group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 32 | access_fp_sale_desc_template_user | fp.sale.description.template.user | model_fp_sale_description_template | base.group_user | 1 | 0 | 0 | 0 |
| 33 | access_fp_sale_desc_template_estimator | fp.sale.description.template.estimator | model_fp_sale_description_template | fusion_plating_configurator.group_fp_estimator | 1 | 1 | 1 | 0 |
| 34 | access_fp_sale_desc_template_manager | fp.sale.description.template.manager | model_fp_sale_description_template | fusion_plating.group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 35 | access_fp_serial_user | fp.serial.user | model_fp_serial | base.group_user | 1 | 0 | 0 | 0 |
| 36 | access_fp_serial_estimator | fp.serial.estimator | model_fp_serial | fusion_plating_configurator.group_fp_estimator | 1 | 1 | 1 | 0 |
| 37 | access_fp_serial_manager | fp.serial.manager | model_fp_serial | fusion_plating.group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 38 | access_fp_serial_bulk_add_estimator | fp.serial.bulk.add.estimator | model_fp_serial_bulk_add_wizard | fusion_plating_configurator.group_fp_estimator | 1 | 1 | 1 | 1 |
| 39 | access_fp_serial_bulk_add_manager | fp.serial.bulk.add.manager | model_fp_serial_bulk_add_wizard | fusion_plating.group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 40 | access_fp_part_revision_bump_estimator | fp.part.revision.bump.estimator | model_fp_part_revision_bump_wizard | fusion_plating_configurator.group_fp_estimator | 1 | 1 | 1 | 1 |
| 41 | access_fp_part_revision_bump_manager | fp.part.revision.bump.manager | model_fp_part_revision_bump_wizard | fusion_plating.group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 42 | access_fp_part_material_user | fp.part.material.user | model_fp_part_material | base.group_user | 1 | 0 | 0 | 0 |
| 43 | access_fp_part_material_estimator | fp.part.material.estimator | model_fp_part_material | fusion_plating_configurator.group_fp_estimator | 1 | 1 | 1 | 0 |
| 44 | access_fp_part_material_manager | fp.part.material.manager | model_fp_part_material | fusion_plating.group_fusion_plating_manager | 1 | 1 | 1 | 1 |