feat(fusion_plating_receiving): open Receiving menu to Technician + technician shipping ACLs

- Backend "Shipping & Receiving" menu lowered from Shop Manager to Technician
  (all higher roles inherit Technician, so none lose access).
- Technicians granted r/w/c on fp.outbound.package and the manual/generate
  label wizards — shipping parity with shop managers so they can generate
  outbound labels and manage packages in the backend.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
gsinghpal
2026-06-03 08:36:59 -04:00
parent 696f5da662
commit ae256b4480
3 changed files with 9 additions and 2 deletions

View File

@@ -5,7 +5,7 @@
{ {
'name': 'Fusion Plating — Receiving & Inspection', 'name': 'Fusion Plating — Receiving & Inspection',
'version': '19.0.3.28.3', 'version': '19.0.3.28.5',
'category': 'Manufacturing/Plating', 'category': 'Manufacturing/Plating',
'summary': 'Parts receiving, inspection, damage logging, and manufacturing gate.', 'summary': 'Parts receiving, inspection, damage logging, and manufacturing gate.',
'description': """ 'description': """

View File

@@ -14,6 +14,9 @@ access_fp_racking_inspection_manager,fp.racking.inspection.manager,model_fp_rack
access_fp_racking_inspection_line_operator,fp.racking.inspection.line.operator,model_fp_racking_inspection_line,fusion_plating.group_fp_technician,1,1,1,1 access_fp_racking_inspection_line_operator,fp.racking.inspection.line.operator,model_fp_racking_inspection_line,fusion_plating.group_fp_technician,1,1,1,1
access_fp_racking_inspection_line_supervisor,fp.racking.inspection.line.supervisor,model_fp_racking_inspection_line,fusion_plating.group_fp_shop_manager_v2,1,1,1,1 access_fp_racking_inspection_line_supervisor,fp.racking.inspection.line.supervisor,model_fp_racking_inspection_line,fusion_plating.group_fp_shop_manager_v2,1,1,1,1
access_fp_racking_inspection_line_manager,fp.racking.inspection.line.manager,model_fp_racking_inspection_line,fusion_plating.group_fp_manager,1,1,1,1 access_fp_racking_inspection_line_manager,fp.racking.inspection.line.manager,model_fp_racking_inspection_line,fusion_plating.group_fp_manager,1,1,1,1
access_fp_label_manual_wizard_operator,fp.label.manual.wizard.operator,model_fp_label_manual_wizard,fusion_plating.group_fp_technician,1,1,1,1
access_fp_label_generate_wizard_operator,fp.label.generate.wizard.operator,model_fp_label_generate_wizard,fusion_plating.group_fp_technician,1,1,1,1
access_fp_outbound_package_operator,fp.outbound.package.operator,model_fp_outbound_package,fusion_plating.group_fp_technician,1,1,1,1
access_fp_label_manual_wizard_receiver,fp.label.manual.wizard.receiver,model_fp_label_manual_wizard,fusion_plating.group_fp_shop_manager_v2,1,1,1,1 access_fp_label_manual_wizard_receiver,fp.label.manual.wizard.receiver,model_fp_label_manual_wizard,fusion_plating.group_fp_shop_manager_v2,1,1,1,1
access_fp_label_manual_wizard_supervisor,fp.label.manual.wizard.supervisor,model_fp_label_manual_wizard,fusion_plating.group_fp_shop_manager_v2,1,1,1,1 access_fp_label_manual_wizard_supervisor,fp.label.manual.wizard.supervisor,model_fp_label_manual_wizard,fusion_plating.group_fp_shop_manager_v2,1,1,1,1
access_fp_label_manual_wizard_manager,fp.label.manual.wizard.manager,model_fp_label_manual_wizard,fusion_plating.group_fp_manager,1,1,1,1 access_fp_label_manual_wizard_manager,fp.label.manual.wizard.manager,model_fp_label_manual_wizard,fusion_plating.group_fp_manager,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
14 access_fp_racking_inspection_line_operator fp.racking.inspection.line.operator model_fp_racking_inspection_line fusion_plating.group_fp_technician 1 1 1 1
15 access_fp_racking_inspection_line_supervisor fp.racking.inspection.line.supervisor model_fp_racking_inspection_line fusion_plating.group_fp_shop_manager_v2 1 1 1 1
16 access_fp_racking_inspection_line_manager fp.racking.inspection.line.manager model_fp_racking_inspection_line fusion_plating.group_fp_manager 1 1 1 1
17 access_fp_label_manual_wizard_operator fp.label.manual.wizard.operator model_fp_label_manual_wizard fusion_plating.group_fp_technician 1 1 1 1
18 access_fp_label_generate_wizard_operator fp.label.generate.wizard.operator model_fp_label_generate_wizard fusion_plating.group_fp_technician 1 1 1 1
19 access_fp_outbound_package_operator fp.outbound.package.operator model_fp_outbound_package fusion_plating.group_fp_technician 1 1 1 1
20 access_fp_label_manual_wizard_receiver fp.label.manual.wizard.receiver model_fp_label_manual_wizard fusion_plating.group_fp_shop_manager_v2 1 1 1 1
21 access_fp_label_manual_wizard_supervisor fp.label.manual.wizard.supervisor model_fp_label_manual_wizard fusion_plating.group_fp_shop_manager_v2 1 1 1 1
22 access_fp_label_manual_wizard_manager fp.label.manual.wizard.manager model_fp_label_manual_wizard fusion_plating.group_fp_manager 1 1 1 1

View File

@@ -25,11 +25,15 @@
<!-- Renamed from "Receiving & Inspection" so the same dock workflow --> <!-- Renamed from "Receiving & Inspection" so the same dock workflow -->
<!-- — parts coming in AND parts going out — lives in one place. --> <!-- — parts coming in AND parts going out — lives in one place. -->
<!-- Logistics module reparents its 5 menu items under this root. --> <!-- Logistics module reparents its 5 menu items under this root. -->
<!-- 2026-06-02: opened to Technician (was Shop Manager+) so technicians
can browse + edit receiving in the backend, not just the tablet card.
All higher roles imply Technician, so they keep access; sales-only
roles (no Technician) stay excluded. Children inherit this gate. -->
<menuitem id="menu_fp_receiving_root" <menuitem id="menu_fp_receiving_root"
name="Shipping &amp; Receiving" name="Shipping &amp; Receiving"
parent="fusion_plating.menu_fp_root" parent="fusion_plating.menu_fp_root"
sequence="15" sequence="15"
groups="fusion_plating.group_fp_shop_manager_v2"/> groups="fusion_plating.group_fp_technician"/>
<!-- Inbound (sequences 1030) --> <!-- Inbound (sequences 1030) -->
<menuitem id="menu_fp_receiving_all" <menuitem id="menu_fp_receiving_all"