修改get_permission_list

This commit is contained in:
caoqianming 2022-04-27 15:37:04 +08:00
parent 2c0d4dda32
commit 834089f266
1 changed files with 8 additions and 4 deletions

View File

@ -8,17 +8,21 @@ def get_permission_list(user):
"""
获取权限列表,可用redis存取
"""
perms_list = ['visitor']
perms_list = []
if user.is_superuser:
perms_list = ['admin']
else:
perms = Permission.objects.none()
perms = Permission.objects.filter()
roles = user.roles.all()
if roles:
for i in roles:
perms = perms | i.perms.all()
perms_list = perms.values_list('method', flat=True)
perms_list = list(set(perms_list))
perms_list_l = perms.values_list('method', flat=True)
for i in perms_list_l:
if i and i not in perms_list:
perms_list.append(i)
if len(perms_list) == 0:
perms_list = ['visitor']
cache.set(user.username + '__perms', perms_list, 60*60)
return perms_list