Files
Odoo-Modules/fusion_plating/fusion_plating_quality/security/ir.model.access.csv
gsinghpal 84ed406c8e feat(plating-quality): split Manager vs Quality Manager permissions
Phase C of permissions overhaul (spec Section 2.C).

Manager keeps reactive Quality (NCR/Hold/Check/Cert/RMA — already gated
via Phase B sweep). QM gains exclusive write/create/unlink on strategic
Quality records:

- fusion.plating.capa: Manager → read-only (1,0,0,0); QM → full
- fusion.plating.audit: same split (if model present)
- fp.approved.vendor.list: same split (if model present)
- fusion.plating.customer.spec: same split
- Doc Control models: same split

Plus FAIR/Nadcap cert restriction via two new ir.rule records on
fp.certificate:
- Manager: write/create/unlink on certs where cert_type NOT in
  ('fair', 'nadcap')
- QM: write/create/unlink on all certs (overrides via OR within group)
- Read access unchanged for both (perm_read=False on the rules)

Tests in fusion_plating/tests/test_quality_split.py verify each side
of the split. Models that may not exist on all DBs (audit, AVL) use
skipTest gracefully.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 01:23:32 -04:00

8.5 KiB

1idnamemodel_id:idgroup_id:idperm_readperm_writeperm_createperm_unlink
2access_fp_ncr_operatorfp.ncr.operatormodel_fusion_plating_ncrfusion_plating.group_fp_technician1000
3access_fp_ncr_supervisorfp.ncr.supervisormodel_fusion_plating_ncrfusion_plating.group_fp_shop_manager_v21110
4access_fp_ncr_managerfp.ncr.managermodel_fusion_plating_ncrfusion_plating.group_fp_manager1111
5access_fp_capa_operatorfp.capa.operatormodel_fusion_plating_capafusion_plating.group_fp_technician1000
6access_fp_capa_supervisorfp.capa.supervisormodel_fusion_plating_capafusion_plating.group_fp_shop_manager_v21110
7access_fp_capa_managerfp.capa.managermodel_fusion_plating_capafusion_plating.group_fp_manager1000
8access_fp_capa_qmfp.capa.qmmodel_fusion_plating_capafusion_plating.group_fp_quality_manager1111
9access_fp_cal_equipment_operatorfp.cal.equipment.operatormodel_fusion_plating_calibration_equipmentfusion_plating.group_fp_technician1000
10access_fp_cal_equipment_supervisorfp.cal.equipment.supervisormodel_fusion_plating_calibration_equipmentfusion_plating.group_fp_shop_manager_v21110
11access_fp_cal_equipment_managerfp.cal.equipment.managermodel_fusion_plating_calibration_equipmentfusion_plating.group_fp_manager1111
12access_fp_cal_event_operatorfp.cal.event.operatormodel_fusion_plating_calibration_eventfusion_plating.group_fp_technician1000
13access_fp_cal_event_supervisorfp.cal.event.supervisormodel_fusion_plating_calibration_eventfusion_plating.group_fp_shop_manager_v21110
14access_fp_cal_event_managerfp.cal.event.managermodel_fusion_plating_calibration_eventfusion_plating.group_fp_manager1111
15access_fp_avl_operatorfp.avl.operatormodel_fusion_plating_avlfusion_plating.group_fp_technician1000
16access_fp_avl_supervisorfp.avl.supervisormodel_fusion_plating_avlfusion_plating.group_fp_shop_manager_v21110
17access_fp_avl_managerfp.avl.managermodel_fusion_plating_avlfusion_plating.group_fp_manager1000
18access_fp_avl_qmfp.avl.qmmodel_fusion_plating_avlfusion_plating.group_fp_quality_manager1111
19access_fp_customer_spec_operatorfp.customer.spec.operatormodel_fusion_plating_customer_specfusion_plating.group_fp_technician1000
20access_fp_customer_spec_supervisorfp.customer.spec.supervisormodel_fusion_plating_customer_specfusion_plating.group_fp_shop_manager_v21110
21access_fp_customer_spec_managerfp.customer.spec.managermodel_fusion_plating_customer_specfusion_plating.group_fp_manager1000
22access_fp_customer_spec_qmfp.customer.spec.qmmodel_fusion_plating_customer_specfusion_plating.group_fp_quality_manager1111
23access_fp_audit_operatorfp.audit.operatormodel_fusion_plating_auditfusion_plating.group_fp_technician1000
24access_fp_audit_supervisorfp.audit.supervisormodel_fusion_plating_auditfusion_plating.group_fp_shop_manager_v21110
25access_fp_audit_managerfp.audit.managermodel_fusion_plating_auditfusion_plating.group_fp_manager1000
26access_fp_audit_qmfp.audit.qmmodel_fusion_plating_auditfusion_plating.group_fp_quality_manager1111
27access_fp_fair_operatorfp.fair.operatormodel_fusion_plating_fairfusion_plating.group_fp_technician1000
28access_fp_fair_supervisorfp.fair.supervisormodel_fusion_plating_fairfusion_plating.group_fp_shop_manager_v21110
29access_fp_fair_managerfp.fair.managermodel_fusion_plating_fairfusion_plating.group_fp_manager1111
30access_fp_doc_control_operatorfp.doc.control.operatormodel_fusion_plating_doc_controlfusion_plating.group_fp_technician1000
31access_fp_doc_control_supervisorfp.doc.control.supervisormodel_fusion_plating_doc_controlfusion_plating.group_fp_shop_manager_v21110
32access_fp_doc_control_managerfp.doc.control.managermodel_fusion_plating_doc_controlfusion_plating.group_fp_manager1000
33access_fp_doc_control_qmfp.doc.control.qmmodel_fusion_plating_doc_controlfusion_plating.group_fp_quality_manager1111
34access_fp_quality_hold_operatorfp.quality.hold.operatormodel_fusion_plating_quality_holdfusion_plating.group_fp_technician1010
35access_fp_quality_hold_supervisorfp.quality.hold.supervisormodel_fusion_plating_quality_holdfusion_plating.group_fp_shop_manager_v21110
36access_fp_quality_hold_managerfp.quality.hold.managermodel_fusion_plating_quality_holdfusion_plating.group_fp_manager1111
37access_fp_contract_review_operatorfp.contract.review.operatormodel_fp_contract_reviewfusion_plating.group_fp_technician1000
38access_fp_contract_review_supervisorfp.contract.review.supervisormodel_fp_contract_reviewfusion_plating.group_fp_shop_manager_v21110
39access_fp_contract_review_managerfp.contract.review.managermodel_fp_contract_reviewfusion_plating.group_fp_manager1111
40access_fp_qc_check_operatorfusion.plating.quality.check.operatormodel_fusion_plating_quality_checkfusion_plating.group_fp_technician1110
41access_fp_qc_check_supervisorfusion.plating.quality.check.supervisormodel_fusion_plating_quality_checkfusion_plating.group_fp_shop_manager_v21110
42access_fp_qc_check_managerfusion.plating.quality.check.managermodel_fusion_plating_quality_checkfusion_plating.group_fp_manager1111
43access_fp_qc_check_line_operatorfusion.plating.quality.check.line.operatormodel_fusion_plating_quality_check_linefusion_plating.group_fp_technician1110
44access_fp_qc_check_line_supervisorfusion.plating.quality.check.line.supervisormodel_fusion_plating_quality_check_linefusion_plating.group_fp_shop_manager_v21110
45access_fp_qc_check_line_managerfusion.plating.quality.check.line.managermodel_fusion_plating_quality_check_linefusion_plating.group_fp_manager1111
46access_fp_qc_template_operatorfp.qc.checklist.template.operatormodel_fp_qc_checklist_templatefusion_plating.group_fp_technician1000
47access_fp_qc_template_supervisorfp.qc.checklist.template.supervisormodel_fp_qc_checklist_templatefusion_plating.group_fp_shop_manager_v21110
48access_fp_qc_template_managerfp.qc.checklist.template.managermodel_fp_qc_checklist_templatefusion_plating.group_fp_manager1111
49access_fp_qc_template_line_operatorfp.qc.checklist.template.line.operatormodel_fp_qc_checklist_template_linefusion_plating.group_fp_technician1000
50access_fp_qc_template_line_supervisorfp.qc.checklist.template.line.supervisormodel_fp_qc_checklist_template_linefusion_plating.group_fp_shop_manager_v21110
51access_fp_qc_template_line_managerfp.qc.checklist.template.line.managermodel_fp_qc_checklist_template_linefusion_plating.group_fp_manager1111
52access_fp_rma_operatorfusion.plating.rma.operatormodel_fusion_plating_rmafusion_plating.group_fp_technician1000
53access_fp_rma_supervisorfusion.plating.rma.supervisormodel_fusion_plating_rmafusion_plating.group_fp_shop_manager_v21110
54access_fp_rma_managerfusion.plating.rma.managermodel_fusion_plating_rmafusion_plating.group_fp_manager1111
55access_fp_quality_tag_userfp.quality.tag.usermodel_fp_quality_tagbase.group_user1000
56access_fp_quality_tag_supervisorfp.quality.tag.supervisormodel_fp_quality_tagfusion_plating.group_fp_shop_manager_v21110
57access_fp_quality_tag_managerfp.quality.tag.managermodel_fp_quality_tagfusion_plating.group_fp_manager1111
58access_fp_quality_reason_userfp.quality.reason.usermodel_fp_quality_reasonbase.group_user1000
59access_fp_quality_reason_supervisorfp.quality.reason.supervisormodel_fp_quality_reasonfusion_plating.group_fp_shop_manager_v21110
60access_fp_quality_reason_managerfp.quality.reason.managermodel_fp_quality_reasonfusion_plating.group_fp_manager1111
61access_fp_quality_team_userfp.quality.team.usermodel_fp_quality_teambase.group_user1000
62access_fp_quality_team_supervisorfp.quality.team.supervisormodel_fp_quality_teamfusion_plating.group_fp_shop_manager_v21110
63access_fp_quality_team_managerfp.quality.team.managermodel_fp_quality_teamfusion_plating.group_fp_manager1111
64access_fp_quality_alert_stage_userfp.quality.alert.stage.usermodel_fp_quality_alert_stagebase.group_user1000
65access_fp_quality_alert_stage_supervisorfp.quality.alert.stage.supervisormodel_fp_quality_alert_stagefusion_plating.group_fp_shop_manager_v21110
66access_fp_quality_alert_stage_managerfp.quality.alert.stage.managermodel_fp_quality_alert_stagefusion_plating.group_fp_manager1111
67access_fp_quality_point_userfp.quality.point.usermodel_fp_quality_pointbase.group_user1000
68access_fp_quality_point_supervisorfp.quality.point.supervisormodel_fp_quality_pointfusion_plating.group_fp_shop_manager_v21110
69access_fp_quality_point_managerfp.quality.point.managermodel_fp_quality_pointfusion_plating.group_fp_manager1111