修改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存取 获取权限列表,可用redis存取
""" """
perms_list = ['visitor'] perms_list = []
if user.is_superuser: if user.is_superuser:
perms_list = ['admin'] perms_list = ['admin']
else: else:
perms = Permission.objects.none() perms = Permission.objects.filter()
roles = user.roles.all() roles = user.roles.all()
if roles: if roles:
for i in roles: for i in roles:
perms = perms | i.perms.all() perms = perms | i.perms.all()
perms_list = perms.values_list('method', flat=True) perms_list_l = perms.values_list('method', flat=True)
perms_list = list(set(perms_list)) 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) cache.set(user.username + '__perms', perms_list, 60*60)
return perms_list return perms_list