Add the core configurator model that collects part geometry, coating config, and pricing inputs, calculates a price from matching pricing rules (scored by specificity), and creates sale orders on confirmation. - fp.quote.configurator model with mail.thread, sequence numbering - Stored computed price with full breakdown HTML table - Estimator override price support - Auto-population from part catalog and coating config onchanges - Surface area normalization (sq in/ft/cm/m) - Specificity-scored rule matching (coating > substrate > cert level) - action_create_quotation creates SO with FP-SERVICE product - Form/list/search views with statusbar and chatter - ACL: operator (read), estimator (read/write/create), manager (full) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2.6 KiB
2.6 KiB
| 1 | id | name | model_id:id | group_id:id | perm_read | perm_write | perm_create | perm_unlink |
|---|---|---|---|---|---|---|---|---|
| 2 | access_fp_treatment_operator | fp.treatment.operator | model_fp_treatment | fusion_plating.group_fusion_plating_operator | 1 | 0 | 0 | 0 |
| 3 | access_fp_treatment_supervisor | fp.treatment.supervisor | model_fp_treatment | fusion_plating.group_fusion_plating_supervisor | 1 | 1 | 0 | 0 |
| 4 | access_fp_treatment_manager | fp.treatment.manager | model_fp_treatment | fusion_plating.group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 5 | access_fp_part_catalog_operator | fp.part.catalog.operator | model_fp_part_catalog | fusion_plating.group_fusion_plating_operator | 1 | 0 | 0 | 0 |
| 6 | access_fp_part_catalog_estimator | fp.part.catalog.estimator | model_fp_part_catalog | fusion_plating_configurator.group_fp_estimator | 1 | 1 | 1 | 0 |
| 7 | access_fp_part_catalog_manager | fp.part.catalog.manager | model_fp_part_catalog | fusion_plating.group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 8 | access_fp_coating_config_operator | fp.coating.config.operator | model_fp_coating_config | fusion_plating.group_fusion_plating_operator | 1 | 0 | 0 | 0 |
| 9 | access_fp_coating_config_estimator | fp.coating.config.estimator | model_fp_coating_config | fusion_plating_configurator.group_fp_estimator | 1 | 1 | 1 | 0 |
| 10 | access_fp_coating_config_manager | fp.coating.config.manager | model_fp_coating_config | fusion_plating.group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 11 | access_fp_pricing_rule_operator | fp.pricing.rule.operator | model_fp_pricing_rule | fusion_plating.group_fusion_plating_operator | 1 | 0 | 0 | 0 |
| 12 | access_fp_pricing_rule_estimator | fp.pricing.rule.estimator | model_fp_pricing_rule | fusion_plating_configurator.group_fp_estimator | 1 | 1 | 1 | 0 |
| 13 | access_fp_pricing_rule_manager | fp.pricing.rule.manager | model_fp_pricing_rule | fusion_plating.group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 14 | 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 |
| 15 | 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 |
| 16 | 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 |
| 17 | access_fp_quote_configurator_operator | fp.quote.configurator.operator | model_fp_quote_configurator | fusion_plating.group_fusion_plating_operator | 1 | 0 | 0 | 0 |
| 18 | access_fp_quote_configurator_estimator | fp.quote.configurator.estimator | model_fp_quote_configurator | fusion_plating_configurator.group_fp_estimator | 1 | 1 | 1 | 0 |
| 19 | access_fp_quote_configurator_manager | fp.quote.configurator.manager | model_fp_quote_configurator | fusion_plating.group_fusion_plating_manager | 1 | 1 | 1 | 1 |