chore(menu): promote Specifications + clarify misleading menu names

Specifications menu (urgent — workflow blocker for estimators):
- Moved from Configuration → Quality & Documents (manager-only) up
  to Plating → Quality (sequence 70). Now visible to estimator,
  supervisor, and manager.
- Renamed "Customer Specs" → "Specifications" — the seeded library
  includes industry standards (AMS, MIL, ASTM, BAC) not just
  customer-private specs.
- Action display name updated: "Customer Specifications" → "Specifications".
- Added action.help HTML so the empty-state placeholder explains
  the Specifications library purpose to first-time users.
- Old xmlid (menu_fp_config_customer_spec) preserved so existing
  links / breadcrumbs / search references continue to resolve.

Other clarifying renames:
- Safety: "JHSC" / "JHSC Meetings" → "H&S Committee (JHSC)" /
  "H&S Committee Meetings" — acronym was opaque to non-Canadian
  H&S folks.
- Operations: "Move Log" → "Parts & Rack Move Log" — generic name
  could be confused with chatter messages or stock moves.
- Configuration → Recipes & Steps: "Workflow States" →
  "Job Workflow Stages" — generic name; clarifies these are job
  state milestones (passed-stage tracking), not generic workflow.
- Compliance → General: child folder "Configuration" → "Reference
  Data" — three levels of "Configuration" nesting (Plating>Config
  vs Plating>Compliance>General>Config) was confusing.

No model / data changes. Pure menu metadata.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
gsinghpal
2026-05-15 08:05:19 -04:00
parent 1ed414c6fb
commit bc7c771f20
11 changed files with 46 additions and 14 deletions

View File

@@ -5,7 +5,7 @@
{ {
'name': 'Fusion Plating', 'name': 'Fusion Plating',
'version': '19.0.19.1.0', 'version': '19.0.19.2.0',
'category': 'Manufacturing/Plating', 'category': 'Manufacturing/Plating',
'summary': 'Core plating / metal finishing ERP: facilities, processes, tanks, baths, jobs, operators.', 'summary': 'Core plating / metal finishing ERP: facilities, processes, tanks, baths, jobs, operators.',
'description': """ 'description': """

View File

@@ -119,7 +119,7 @@
Phase 3 — supervisor+ only. Operators see their own moves on Phase 3 — supervisor+ only. Operators see their own moves on
the tablet; this is an audit view of every move. --> the tablet; this is an audit view of every move. -->
<menuitem id="menu_fp_job_step_move" <menuitem id="menu_fp_job_step_move"
name="Move Log" name="Parts &amp; Rack Move Log"
parent="menu_fp_operations" parent="menu_fp_operations"
action="action_fp_job_step_move" action="action_fp_job_step_move"
sequence="90" sequence="90"

View File

@@ -3,7 +3,7 @@
# License OPL-1 (Odoo Proprietary License v1.0) # License OPL-1 (Odoo Proprietary License v1.0)
{ {
'name': 'Fusion Plating - Compliance (Framework)', 'name': 'Fusion Plating - Compliance (Framework)',
'version': '19.0.1.2.0', 'version': '19.0.1.3.0',
'category': 'Manufacturing/Plating', 'category': 'Manufacturing/Plating',
'summary': 'Jurisdiction-agnostic compliance framework: permits, discharge monitoring, waste manifests, pollutant inventory, compliance calendar, spill register.', 'summary': 'Jurisdiction-agnostic compliance framework: permits, discharge monitoring, waste manifests, pollutant inventory, compliance calendar, spill register.',
'description': 'Generic compliance framework. Region packs load jurisdiction-specific data.', 'description': 'Generic compliance framework. Region packs load jurisdiction-specific data.',

View File

@@ -11,7 +11,7 @@
<menuitem id="menu_fp_compliance_calendar" name="Compliance Calendar" parent="menu_fp_compliance_root" action="action_fp_compliance_event" sequence="40"/> <menuitem id="menu_fp_compliance_calendar" name="Compliance Calendar" parent="menu_fp_compliance_root" action="action_fp_compliance_event" sequence="40"/>
<menuitem id="menu_fp_compliance_spill_register" name="Spill Register" parent="menu_fp_compliance_root" action="action_fp_spill_register" sequence="50"/> <menuitem id="menu_fp_compliance_spill_register" name="Spill Register" parent="menu_fp_compliance_root" action="action_fp_spill_register" sequence="50"/>
<menuitem id="menu_fp_compliance_config" name="Configuration" parent="menu_fp_compliance_root" sequence="100"/> <menuitem id="menu_fp_compliance_config" name="Reference Data" parent="menu_fp_compliance_root" sequence="100"/>
<menuitem id="menu_fp_compliance_jurisdiction" name="Jurisdictions" parent="menu_fp_compliance_config" action="action_fp_jurisdiction" sequence="10"/> <menuitem id="menu_fp_compliance_jurisdiction" name="Jurisdictions" parent="menu_fp_compliance_config" action="action_fp_jurisdiction" sequence="10"/>
<menuitem id="menu_fp_compliance_regulator" name="Regulators" parent="menu_fp_compliance_config" action="action_fp_regulator" sequence="20"/> <menuitem id="menu_fp_compliance_regulator" name="Regulators" parent="menu_fp_compliance_config" action="action_fp_regulator" sequence="20"/>
<menuitem id="menu_fp_compliance_discharge_limit" name="Discharge Limits" parent="menu_fp_compliance_config" action="action_fp_discharge_limit" sequence="30"/> <menuitem id="menu_fp_compliance_discharge_limit" name="Discharge Limits" parent="menu_fp_compliance_config" action="action_fp_discharge_limit" sequence="30"/>

View File

@@ -3,7 +3,7 @@
# License OPL-1 (Odoo Proprietary License v1.0) # License OPL-1 (Odoo Proprietary License v1.0)
{ {
'name': 'Fusion Plating — Native Jobs', 'name': 'Fusion Plating — Native Jobs',
'version': '19.0.10.0.0', 'version': '19.0.10.1.0',
'category': 'Manufacturing/Plating', 'category': 'Manufacturing/Plating',
'summary': 'Native plating job model — replaces mrp.production / mrp.workorder bridge.', 'summary': 'Native plating job model — replaces mrp.production / mrp.workorder bridge.',
'author': 'Nexa Systems Inc.', 'author': 'Nexa Systems Inc.',

View File

@@ -133,7 +133,7 @@
<!-- Workflow milestones live under "Recipes & Steps" because each <!-- Workflow milestones live under "Recipes & Steps" because each
state is triggered by a recipe-step kind / per-step override. --> state is triggered by a recipe-step kind / per-step override. -->
<menuitem id="menu_fp_workflow_state" <menuitem id="menu_fp_workflow_state"
name="Workflow States" name="Job Workflow Stages"
parent="fusion_plating.menu_fp_config_recipes_steps" parent="fusion_plating.menu_fp_config_recipes_steps"
action="action_fp_workflow_state" action="action_fp_workflow_state"
sequence="50"/> sequence="50"/>

View File

@@ -5,7 +5,7 @@
{ {
'name': 'Fusion Plating — Quality (QMS)', 'name': 'Fusion Plating — Quality (QMS)',
'version': '19.0.6.0.0', 'version': '19.0.6.1.0',
'category': 'Manufacturing/Plating', 'category': 'Manufacturing/Plating',
'summary': 'Native QMS for plating shops: NCR, CAPA, calibration, AVL, FAIR, ' 'summary': 'Native QMS for plating shops: NCR, CAPA, calibration, AVL, FAIR, '
'internal audits, customer specs, document control. CE + EE compatible.', 'internal audits, customer specs, document control. CE + EE compatible.',

View File

@@ -91,10 +91,35 @@
</record> </record>
<record id="action_fp_customer_spec" model="ir.actions.act_window"> <record id="action_fp_customer_spec" model="ir.actions.act_window">
<field name="name">Customer Specifications</field> <field name="name">Specifications</field>
<field name="res_model">fusion.plating.customer.spec</field> <field name="res_model">fusion.plating.customer.spec</field>
<field name="view_mode">list,form</field> <field name="view_mode">list,form</field>
<field name="search_view_id" ref="view_fp_customer_spec_search"/> <field name="search_view_id" ref="view_fp_customer_spec_search"/>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Add your first specification
</p>
<p>
The Specifications library holds every standard your
customers cite on POs — industry standards (AMS 2404,
ASTM B733, MIL-C-26074), prime-specific codes (Boeing
BAC 5680, Lockheed LMS-3045), and your own internal
references.
</p>
<p>
When an estimator picks a Specification on a sale order
line, the certificate auto-fills with the spec's code
and revision (e.g. "AMS 2404 Rev D"). Aerospace flags
(Nadcap required, FAI required, AS9100 clauses) drive
workflow gates downstream.
</p>
<p>
Add a new Specification the moment a new code shows up
on a customer PO — there's no need to wait for a
manager. Set the document URL so the controlled copy
is one click away during audits.
</p>
</field>
</record> </record>
</odoo> </odoo>

View File

@@ -68,11 +68,18 @@
action="action_fp_cal_event" action="action_fp_cal_event"
sequence="60"/> sequence="60"/>
<!-- Promote-Customer-Spec (Phase F) — Specifications is now central
to order entry (estimators add new BAC / AMS / customer codes
when they hit them). Moved out of Configuration (manager-only)
into Quality where the workflow lives. Single menu, accessible
to estimator/supervisor/manager via the Quality top-level.
Old xmlid kept so links / breadcrumbs / search references
continue to resolve. -->
<menuitem id="menu_fp_config_customer_spec" <menuitem id="menu_fp_config_customer_spec"
name="Customer Specs" name="Specifications"
parent="fusion_plating.menu_fp_config_quality_docs" parent="menu_fp_quality"
action="action_fp_customer_spec" action="action_fp_customer_spec"
sequence="10"/> sequence="70"/>
<menuitem id="menu_fp_config_avl" <menuitem id="menu_fp_config_avl"
name="Approved Vendor List" name="Approved Vendor List"

View File

@@ -5,7 +5,7 @@
{ {
'name': 'Fusion Plating — Safety (EHS)', 'name': 'Fusion Plating — Safety (EHS)',
'version': '19.0.1.2.0', 'version': '19.0.1.3.0',
'category': 'Manufacturing/Plating', 'category': 'Manufacturing/Plating',
'summary': 'Occupational health and safety for plating shops: SDS library, ' 'summary': 'Occupational health and safety for plating shops: SDS library, '
'WHMIS/TDG training, exposure monitoring, JHSC, incidents, PPE, ' 'WHMIS/TDG training, exposure monitoring, JHSC, incidents, PPE, '

View File

@@ -32,13 +32,13 @@
sequence="30"/> sequence="30"/>
<menuitem id="menu_fp_safety_jhsc" <menuitem id="menu_fp_safety_jhsc"
name="JHSC" name="H&amp;S Committee (JHSC)"
parent="menu_fp_safety_root" parent="menu_fp_safety_root"
action="action_fp_jhsc" action="action_fp_jhsc"
sequence="40"/> sequence="40"/>
<menuitem id="menu_fp_safety_jhsc_meetings" <menuitem id="menu_fp_safety_jhsc_meetings"
name="JHSC Meetings" name="H&amp;S Committee Meetings"
parent="menu_fp_safety_root" parent="menu_fp_safety_root"
action="action_fp_jhsc_meeting" action="action_fp_jhsc_meeting"
sequence="45"/> sequence="45"/>