A platform admin user is able to see a list of all services.

Each service on the list is linked to the dashboard page of the service.
The platform admin user can see/edit templates, see/invite users, see/edit service settings.
The platform admin user can not send messages, see/edit api keys and developer docs.
This commit is contained in:
Rebecca Law
2016-03-17 10:46:47 +00:00
parent cc15d92aaa
commit b28fbc16d7
22 changed files with 154 additions and 104 deletions

View File

@@ -13,6 +13,7 @@ class User(UserMixin):
self._failed_login_count = fields.get('failed_login_count')
self._state = fields.get('state')
self.max_failed_login_count = max_failed_login_count
self.platform_admin = fields.get('platform_admin')
def get_id(self):
return self.id
@@ -82,7 +83,9 @@ class User(UserMixin):
def permissions(self, permissions):
raise AttributeError("Read only property")
def has_permissions(self, permissions, service_id=None, or_=False):
def has_permissions(self, permissions, service_id=None, or_=False, admin_override=False):
if admin_override and self.platform_admin:
return True
if service_id is None:
service_id = session.get('service_id', '')
if service_id in self._permissions:
@@ -91,6 +94,10 @@ class User(UserMixin):
return set(self._permissions[service_id]) >= set(permissions)
return False
def has_platform_admin_permissions(self):
print('platform_permissions {}'.format(self.platform_admin))
self.platform_admin
@property
def failed_login_count(self):
return self._failed_login_count