修改get_permission_list
This commit is contained in:
parent
2c0d4dda32
commit
834089f266
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in New Issue