fix-security-permission-codes

This commit is contained in:
DXC
2026-04-14 14:49:53 +08:00
parent db077a6033
commit ae1fd1afd4

View File

@ -75,7 +75,10 @@ def filter_item_by_permissions(item_dict, user_permissions):
if 'inbound_buy:*' in user_permissions: if 'inbound_buy:*' in user_permissions:
return item_dict return item_dict
for field, perm_code in field_to_perm.items(): for field, perm_code in field_to_perm.items():
if field in item_dict and perm_code not in user_permissions: # 提取不带前缀的基础权限码(如 'serial_number'
base_perm_code = perm_code.split(':')[-1] if ':' in perm_code else perm_code
# 如果用户的权限列表中,既没有长格式,也没有短格式,才将字段设为 None
if field in item_dict and perm_code not in user_permissions and base_perm_code not in user_permissions:
item_dict[field] = None item_dict[field] = None
return item_dict return item_dict