mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-02-05 10:53:28 -05:00
Completion of the platform admin user story.
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
from flask.ext.login import (UserMixin, login_fresh)
|
||||
from flask import session
|
||||
|
||||
|
||||
class User(UserMixin):
|
||||
@@ -83,9 +82,18 @@ class User(UserMixin):
|
||||
def permissions(self, permissions):
|
||||
raise AttributeError("Read only property")
|
||||
|
||||
def has_permissions(self, permissions, service_id=None, or_=False, admin_override=False):
|
||||
def has_permissions(self, permissions=[], or_=False, admin_override=False):
|
||||
# Only available to the platform admin user
|
||||
if admin_override and self.platform_admin:
|
||||
return True
|
||||
# Not available to the non platform admin users.
|
||||
# For example the list all-services page is only available to platform admin users and is not service specific
|
||||
if admin_override and not permissions:
|
||||
return False
|
||||
|
||||
from flask import request
|
||||
# Service id is always set on the request for service specific views.
|
||||
service_id = request.view_args.get('service_id', None)
|
||||
if service_id in self._permissions:
|
||||
if or_:
|
||||
return any([x in self._permissions[service_id] for x in permissions])
|
||||
@@ -138,7 +146,6 @@ class InvitedUser(object):
|
||||
self.created_at = created_at
|
||||
|
||||
def has_permissions(self, permissions):
|
||||
print('here')
|
||||
return set(self.permissions) > set(permissions)
|
||||
|
||||
def __eq__(self, other):
|
||||
|
||||
Reference in New Issue
Block a user