feat: 权限系统重构 — 操作权限双向展开 + 启动时自动补全默认权限
## permission_service.py - init_all_menus: menu_defs 新增 inbound_purchase(采购申请) 菜单项 - init_all_menus: 创建 inbound_purchase:operation 操作元素 - 新增 ensure_default_permissions(): 启动时从 sys_user 提取活跃角色, 对空权限角色自动补全默认菜单(按角色类型分级) - 自动迁移: 已有 inbound_buy 权限的角色 → 自动获得 inbound_purchase - SUPERVISOR 启动时自动获得 inbound_purchase 菜单权限 ## decorators.py - _expand_operation_perms 改为双向桥接: 正向(inbound_buy:operation←inbound_buy:write)→通过 反向(inbound_buy←inbound_buy:operation)→通过(可编辑隐含可读) - 新增详细诊断日志,记录展开路径和失败原因 ## __init__.py - 启动时调用 PermissionService.ensure_default_permissions()
This commit is contained in:
@ -197,6 +197,8 @@ def create_app():
|
||||
PermissionService.init_stocktake_menus()
|
||||
# 初始化所有菜单的层级结构
|
||||
PermissionService.init_all_menus()
|
||||
# ★ 启动时自动为所有已知角色补充默认权限(仅补充空角色,不覆盖已有)
|
||||
PermissionService.ensure_default_permissions()
|
||||
except Exception as e:
|
||||
print(f"⚠️ 菜单初始化跳过: {e}")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user