mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-02-05 02:42:26 -05:00
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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user