summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2014-11-03 13:10:58 +0000
committerGerrit Code Review <review@openstack.org>2014-11-03 13:10:58 +0000
commitf9d22f16c2d9e21998829565d2a32732acebbe1f (patch)
tree4ba3014002e5cc558a95691d28cda72a52267dac
parentaeab556f8b6abf2651cddef498cc2cd5700d8542 (diff)
parent96bbcd5e9bdf44af26098ea0e30206f39630e07b (diff)
downloaddjango_openstack_auth-f9d22f16c2d9e21998829565d2a32732acebbe1f.tar.gz
Merge "Remove admin role name 'admin' hardcode in User.is_superuser()"
-rw-r--r--openstack_auth/user.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/openstack_auth/user.py b/openstack_auth/user.py
index 7abd8e4..6eda8f5 100644
--- a/openstack_auth/user.py
+++ b/openstack_auth/user.py
@@ -258,7 +258,12 @@ class User(models.AnonymousUser):
Returns ``True`` or ``False``.
"""
- return 'admin' in [role['name'].lower() for role in self.roles]
+ admin_roles = [role.lower() for role in getattr(
+ settings,
+ 'OPENSTACK_KEYSTONE_ADMIN_ROLES',
+ ['admin'])]
+ user_roles = [role['name'].lower() for role in self.roles]
+ return True if set(admin_roles).intersection(user_roles) else False
@property
def authorized_tenants(self):