Merge pull request #3015 from alphagov/optional-platform-admin

add option to suppress platform admin temporarily
This commit is contained in:
Chris Hill-Scott
2019-06-17 10:00:45 +01:00
committed by GitHub
8 changed files with 164 additions and 5 deletions

View File

@@ -48,6 +48,7 @@ class User(JSONModel, UserMixin):
super().__init__(_dict)
self.permissions = _dict.get('permissions', {})
self.max_failed_login_count = current_app.config['MAX_FAILED_LOGIN_COUNT']
self._platform_admin = _dict['platform_admin']
@classmethod
def from_id(cls, user_id):
@@ -172,6 +173,10 @@ class User(JSONModel, UserMixin):
super(User, self).is_authenticated
)
@property
def platform_admin(self):
return self._platform_admin and not session.get('disable_platform_admin_view', False)
def has_permissions(self, *permissions, restrict_admin_usage=False):
unknown_permissions = set(permissions) - all_permissions
if unknown_permissions: