refactor(plating-sec): sweep all ACL CSVs to new role group xmlids
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>
This commit is contained in:
@@ -1,17 +1,17 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_fp_shopfloor_station_operator,fp.shopfloor.station.operator,model_fusion_plating_shopfloor_station,fusion_plating.group_fusion_plating_operator,1,1,0,0
|
||||
access_fp_shopfloor_station_supervisor,fp.shopfloor.station.supervisor,model_fusion_plating_shopfloor_station,fusion_plating.group_fusion_plating_supervisor,1,1,1,0
|
||||
access_fp_shopfloor_station_manager,fp.shopfloor.station.manager,model_fusion_plating_shopfloor_station,fusion_plating.group_fusion_plating_manager,1,1,1,1
|
||||
access_fp_bake_oven_operator,fp.bake.oven.operator,model_fusion_plating_bake_oven,fusion_plating.group_fusion_plating_operator,1,0,0,0
|
||||
access_fp_bake_oven_supervisor,fp.bake.oven.supervisor,model_fusion_plating_bake_oven,fusion_plating.group_fusion_plating_supervisor,1,1,1,0
|
||||
access_fp_bake_oven_manager,fp.bake.oven.manager,model_fusion_plating_bake_oven,fusion_plating.group_fusion_plating_manager,1,1,1,1
|
||||
access_fp_bake_window_operator,fp.bake.window.operator,model_fusion_plating_bake_window,fusion_plating.group_fusion_plating_operator,1,1,1,0
|
||||
access_fp_bake_window_supervisor,fp.bake.window.supervisor,model_fusion_plating_bake_window,fusion_plating.group_fusion_plating_supervisor,1,1,1,0
|
||||
access_fp_bake_window_manager,fp.bake.window.manager,model_fusion_plating_bake_window,fusion_plating.group_fusion_plating_manager,1,1,1,1
|
||||
access_fp_first_piece_gate_operator,fp.first.piece.gate.operator,model_fusion_plating_first_piece_gate,fusion_plating.group_fusion_plating_operator,1,1,1,0
|
||||
access_fp_first_piece_gate_supervisor,fp.first.piece.gate.supervisor,model_fusion_plating_first_piece_gate,fusion_plating.group_fusion_plating_supervisor,1,1,1,0
|
||||
access_fp_first_piece_gate_manager,fp.first.piece.gate.manager,model_fusion_plating_first_piece_gate,fusion_plating.group_fusion_plating_manager,1,1,1,1
|
||||
access_fp_operator_queue_operator,fp.operator.queue.operator,model_fusion_plating_operator_queue,fusion_plating.group_fusion_plating_operator,1,1,1,1
|
||||
access_fp_operator_queue_supervisor,fp.operator.queue.supervisor,model_fusion_plating_operator_queue,fusion_plating.group_fusion_plating_supervisor,1,1,1,1
|
||||
access_fp_operator_queue_manager,fp.operator.queue.manager,model_fusion_plating_operator_queue,fusion_plating.group_fusion_plating_manager,1,1,1,1
|
||||
access_fp_job_node_override_operator,fp.job.node.override.operator,fusion_plating_jobs.model_fp_job_node_override,fusion_plating.group_fusion_plating_operator,1,0,0,0
|
||||
access_fp_shopfloor_station_operator,fp.shopfloor.station.operator,model_fusion_plating_shopfloor_station,fusion_plating.group_fp_technician,1,1,0,0
|
||||
access_fp_shopfloor_station_supervisor,fp.shopfloor.station.supervisor,model_fusion_plating_shopfloor_station,fusion_plating.group_fp_shop_manager_v2,1,1,1,0
|
||||
access_fp_shopfloor_station_manager,fp.shopfloor.station.manager,model_fusion_plating_shopfloor_station,fusion_plating.group_fp_manager,1,1,1,1
|
||||
access_fp_bake_oven_operator,fp.bake.oven.operator,model_fusion_plating_bake_oven,fusion_plating.group_fp_technician,1,0,0,0
|
||||
access_fp_bake_oven_supervisor,fp.bake.oven.supervisor,model_fusion_plating_bake_oven,fusion_plating.group_fp_shop_manager_v2,1,1,1,0
|
||||
access_fp_bake_oven_manager,fp.bake.oven.manager,model_fusion_plating_bake_oven,fusion_plating.group_fp_manager,1,1,1,1
|
||||
access_fp_bake_window_operator,fp.bake.window.operator,model_fusion_plating_bake_window,fusion_plating.group_fp_technician,1,1,1,0
|
||||
access_fp_bake_window_supervisor,fp.bake.window.supervisor,model_fusion_plating_bake_window,fusion_plating.group_fp_shop_manager_v2,1,1,1,0
|
||||
access_fp_bake_window_manager,fp.bake.window.manager,model_fusion_plating_bake_window,fusion_plating.group_fp_manager,1,1,1,1
|
||||
access_fp_first_piece_gate_operator,fp.first.piece.gate.operator,model_fusion_plating_first_piece_gate,fusion_plating.group_fp_technician,1,1,1,0
|
||||
access_fp_first_piece_gate_supervisor,fp.first.piece.gate.supervisor,model_fusion_plating_first_piece_gate,fusion_plating.group_fp_shop_manager_v2,1,1,1,0
|
||||
access_fp_first_piece_gate_manager,fp.first.piece.gate.manager,model_fusion_plating_first_piece_gate,fusion_plating.group_fp_manager,1,1,1,1
|
||||
access_fp_operator_queue_operator,fp.operator.queue.operator,model_fusion_plating_operator_queue,fusion_plating.group_fp_technician,1,1,1,1
|
||||
access_fp_operator_queue_supervisor,fp.operator.queue.supervisor,model_fusion_plating_operator_queue,fusion_plating.group_fp_shop_manager_v2,1,1,1,1
|
||||
access_fp_operator_queue_manager,fp.operator.queue.manager,model_fusion_plating_operator_queue,fusion_plating.group_fp_manager,1,1,1,1
|
||||
access_fp_job_node_override_operator,fp.job.node.override.operator,fusion_plating_jobs.model_fp_job_node_override,fusion_plating.group_fp_technician,1,0,0,0
|
||||
|
||||
|
Reference in New Issue
Block a user