Phase B of permissions overhaul. Mechanical text replacement across 11 ir.model.access.csv files: - group_fusion_plating_operator -> fusion_plating.group_fp_technician - group_fusion_plating_supervisor -> fusion_plating.group_fp_shop_manager_v2 - group_fusion_plating_manager -> fusion_plating.group_fp_manager - group_fusion_plating_admin -> fusion_plating.group_fp_owner - group_fp_estimator (configurator)-> fusion_plating.group_fp_sales_rep - group_fp_accounting -> fusion_plating.group_fp_manager - group_fp_receiving -> fusion_plating.group_fp_shop_manager_v2 - group_fp_shop_manager (legacy) -> fusion_plating.group_fp_manager - group_fusion_plating_cgp_officer -> fusion_plating.group_fp_quality_manager - group_fusion_plating_cgp_designated_official -> fusion_plating.group_fp_owner Backward-compat: old group xmlids still resolve (Phase A's implied_ids chains keep old ACLs working for users still holding old groups). This sweep ensures future-state correctness: when old groups are deleted after the 30-day rollback window, ACLs continue resolving via the new group xmlids. Also adds fusion_plating/tests/test_acl_migration.py with sample-based per-role access checks. The 2 CAPA tests are expected to fail until Phase C implements the Manager/QM quality split. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
29 lines
3.5 KiB
CSV
29 lines
3.5 KiB
CSV
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
|
access_fp_sds_operator,fp.sds.operator,model_fusion_plating_sds,fusion_plating.group_fp_technician,1,0,0,0
|
|
access_fp_sds_supervisor,fp.sds.supervisor,model_fusion_plating_sds,fusion_plating.group_fp_shop_manager_v2,1,1,1,0
|
|
access_fp_sds_manager,fp.sds.manager,model_fusion_plating_sds,fusion_plating.group_fp_manager,1,1,1,1
|
|
access_fp_chemical_operator,fp.chemical.operator,model_fusion_plating_chemical,fusion_plating.group_fp_technician,1,0,0,0
|
|
access_fp_chemical_supervisor,fp.chemical.supervisor,model_fusion_plating_chemical,fusion_plating.group_fp_shop_manager_v2,1,1,1,0
|
|
access_fp_chemical_manager,fp.chemical.manager,model_fusion_plating_chemical,fusion_plating.group_fp_manager,1,1,1,1
|
|
access_fp_training_type_operator,fp.training.type.operator,model_fusion_plating_training_type,fusion_plating.group_fp_technician,1,0,0,0
|
|
access_fp_training_type_supervisor,fp.training.type.supervisor,model_fusion_plating_training_type,fusion_plating.group_fp_shop_manager_v2,1,0,0,0
|
|
access_fp_training_type_manager,fp.training.type.manager,model_fusion_plating_training_type,fusion_plating.group_fp_manager,1,1,1,1
|
|
access_fp_training_record_operator,fp.training.record.operator,model_fusion_plating_training_record,fusion_plating.group_fp_technician,1,0,0,0
|
|
access_fp_training_record_supervisor,fp.training.record.supervisor,model_fusion_plating_training_record,fusion_plating.group_fp_shop_manager_v2,1,1,1,0
|
|
access_fp_training_record_manager,fp.training.record.manager,model_fusion_plating_training_record,fusion_plating.group_fp_manager,1,1,1,1
|
|
access_fp_exposure_operator,fp.exposure.monitoring.operator,model_fusion_plating_exposure_monitoring,fusion_plating.group_fp_technician,1,0,0,0
|
|
access_fp_exposure_supervisor,fp.exposure.monitoring.supervisor,model_fusion_plating_exposure_monitoring,fusion_plating.group_fp_shop_manager_v2,1,1,1,0
|
|
access_fp_exposure_manager,fp.exposure.monitoring.manager,model_fusion_plating_exposure_monitoring,fusion_plating.group_fp_manager,1,1,1,1
|
|
access_fp_jhsc_operator,fp.jhsc.operator,model_fusion_plating_jhsc,fusion_plating.group_fp_technician,1,0,0,0
|
|
access_fp_jhsc_supervisor,fp.jhsc.supervisor,model_fusion_plating_jhsc,fusion_plating.group_fp_shop_manager_v2,1,1,1,0
|
|
access_fp_jhsc_manager,fp.jhsc.manager,model_fusion_plating_jhsc,fusion_plating.group_fp_manager,1,1,1,1
|
|
access_fp_jhsc_meeting_operator,fp.jhsc.meeting.operator,model_fusion_plating_jhsc_meeting,fusion_plating.group_fp_technician,1,0,0,0
|
|
access_fp_jhsc_meeting_supervisor,fp.jhsc.meeting.supervisor,model_fusion_plating_jhsc_meeting,fusion_plating.group_fp_shop_manager_v2,1,1,1,0
|
|
access_fp_jhsc_meeting_manager,fp.jhsc.meeting.manager,model_fusion_plating_jhsc_meeting,fusion_plating.group_fp_manager,1,1,1,1
|
|
access_fp_incident_operator,fp.incident.operator,model_fusion_plating_incident,fusion_plating.group_fp_technician,1,1,1,0
|
|
access_fp_incident_supervisor,fp.incident.supervisor,model_fusion_plating_incident,fusion_plating.group_fp_shop_manager_v2,1,1,1,0
|
|
access_fp_incident_manager,fp.incident.manager,model_fusion_plating_incident,fusion_plating.group_fp_manager,1,1,1,1
|
|
access_fp_ppe_operator,fp.ppe.issuance.operator,model_fusion_plating_ppe_issuance,fusion_plating.group_fp_technician,1,0,0,0
|
|
access_fp_ppe_supervisor,fp.ppe.issuance.supervisor,model_fusion_plating_ppe_issuance,fusion_plating.group_fp_shop_manager_v2,1,1,1,0
|
|
access_fp_ppe_manager,fp.ppe.issuance.manager,model_fusion_plating_ppe_issuance,fusion_plating.group_fp_manager,1,1,1,1
|