yueli
6b7b174e3d
fix(db): 补注册附件备注的读写权限码(修「写通读断」的权限错位)
根因(比上一轮报告的更深一层)
----
field_permissions.py 的读过滤要求两个权限码:
material_list:productImageRemark / material_list:manualLinkRemark
而这两个码**在 sys_element 里根本不存在**,也从未授予任何角色 —— 是「幽灵权限」。
除 SUPER_ADMIN(走 material_list:* 通配符绕过)外,没有任何人能通过读过滤。
配合写侧的「不在映射中 → 默认允许」兜底,形成:
谁都能写、除超管没人能读 —— 填了存进去了,回显却被抹成 null,
看起来就是「保存不了」。
本次改动
----
一、读侧:注册这两个元素,授予与 material_list:files **完全相同的 6 个角色**
(INBOUND / OUTBOUND / SALES / SUPERVISOR / WAREHOUSE_MGR / SUPER_ADMIN)
依据:备注依附于图片,「能看图的人就应该能看备注」。
二、写侧:新建 material_list:remark_edit,只授予 3 个核心管理角色
(SUPER_ADMIN / SUPERVISOR / WAREHOUSE_MGR)。
★ 为何不复用 material_list:operation:它授予了 5 个角色(含 INBOUND /
OUTBOUND),比业务要求的 3 个更宽,达不到「只有核心管理角色可改」。
⚠ 该码只做精确匹配,**切勿用 @permission_required 包裹** ——
_expand_operation_perms 会前缀桥接,把 material_list:operation 的持有者
一并放行,等于把刚收紧的口子又捅开。已在迁移与代码注释中双处警示。
幂等,可重复执行;脚本文本不含 psql 元命令,DataGrip 可直接整段执行。
2026-09-17 11:07:50 +08:00
..
2026-09-11 14:38:40 +08:00
2026-09-08 10:14:40 +08:00
2026-09-16 16:44:46 +08:00
2026-09-09 09:31:12 +08:00
2026-09-09 10:47:36 +08:00
2026-09-16 16:44:46 +08:00
2026-09-16 16:44:46 +08:00
2026-09-10 17:21:14 +08:00
2026-09-10 09:46:52 +08:00
2026-09-10 09:46:52 +08:00
2026-09-10 10:14:19 +08:00
2026-09-11 11:33:04 +08:00
2026-09-11 13:28:43 +08:00
2026-09-08 10:14:40 +08:00
2026-09-17 10:51:31 +08:00
2026-07-17 13:07:12 +08:00
2026-09-16 15:45:02 +08:00
2026-07-17 15:29:59 +08:00
2026-09-09 13:00:35 +08:00
2026-09-16 15:45:22 +08:00
2026-09-16 15:45:22 +08:00
2026-09-17 09:17:51 +08:00
2026-09-17 09:17:51 +08:00
2026-09-17 10:04:05 +08:00
2026-09-17 10:12:31 +08:00
2026-09-17 10:44:00 +08:00
2026-09-17 10:46:31 +08:00
2026-09-17 11:07:50 +08:00
2026-09-10 10:14:19 +08:00