Completion of the platform admin user story.

This commit is contained in:
Rebecca Law
2016-03-18 16:20:37 +00:00
parent d003dc4aa9
commit 13d9acf7dd
14 changed files with 177 additions and 162 deletions

View File

@@ -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):