feat(phase3): tighten group-gating on operator-irrelevant top-levels

Three targeted gates so operators no longer see admin/audit views:

- KPIs (menu_fp_dashboard) → supervisor+. Operators don't need
  dashboards; their tablet shows what they need to do next.
- Move Log (menu_fp_job_step_move) → supervisor+. Operators see
  their own moves on the tablet; this top-level menu is the
  audit-of-everyone-else view.
- Replenishment Suggestions (menu_fp_replenishment_suggestions) →
  supervisor+. Purchasing decision, not operator concern.

Other top-levels were already correctly gated:
- Sales / Configurator → estimator
- Shipping & Receiving → group_fp_receiving
- Compliance hub → supervisor+
- Configuration → manager
- Shop Floor / Quality → operator (correctly visible to floor staff)
- Operations parent stays open; child menus enforce per-action gates

Net effect: a fresh operator now sees ~5 top-level menus instead of
the previous ~10. Supervisors see ~8. Managers see all.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
gsinghpal
2026-04-27 22:51:30 -04:00
parent 46715410a9
commit 5f6c7af2a7
5 changed files with 13 additions and 7 deletions

View File

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

View File

@@ -115,11 +115,14 @@
<field name="search_view_id" ref="view_fp_job_step_move_search"/>
</record>
<!-- Phase 1 — re-parented under Operations. -->
<!-- Phase 1 — under Operations.
Phase 3 — supervisor+ only. Operators see their own moves on
the tablet; this is an audit view of every move. -->
<menuitem id="menu_fp_job_step_move"
name="Move Log"
parent="menu_fp_operations"
action="action_fp_job_step_move"
sequence="90"/>
sequence="90"
groups="fusion_plating.group_fusion_plating_supervisor"/>
</odoo>

View File

@@ -112,11 +112,13 @@
action="action_fp_rack"
sequence="35"/>
<!-- Phase 3 — supervisor+: replenishment is a purchasing decision. -->
<menuitem id="menu_fp_replenishment_suggestions"
name="Replenishment Suggestions"
parent="menu_fp_operations"
action="action_fp_replenishment_suggestion"
sequence="40"/>
sequence="40"
groups="fusion_plating.group_fusion_plating_supervisor"/>
<!-- Configuration children (referencing the 7 buckets above) -->
<menuitem id="menu_fp_replenishment_rules"

View File

@@ -5,7 +5,7 @@
{
'name': 'Fusion Plating — KPI Dashboard',
'version': '19.0.1.0.0',
'version': '19.0.1.1.0',
'category': 'Manufacturing/Plating',
'summary': 'Configurable KPI dashboards for plating operations.',
'author': 'Nexa Systems Inc.',

View File

@@ -6,11 +6,12 @@
-->
<odoo>
<!-- ===== KPIs top-level menu ===== -->
<!-- Phase 3 — supervisor+ only. Operators don't need dashboards. -->
<menuitem id="menu_fp_dashboard"
name="KPIs"
parent="fusion_plating.menu_fp_root"
sequence="85"/>
sequence="85"
groups="fusion_plating.group_fusion_plating_supervisor"/>
<menuitem id="menu_fp_kpis"
name="KPIs"