mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-09-11 18:37:33 -04:00
Make permissions a setter
This is better because it reuses native constructs of the language, rather than half reimplementing them ourselves.
This commit is contained in:
+7
-10
@@ -53,7 +53,7 @@ class User(JSONModel, UserMixin):
|
|||||||
|
|
||||||
def __init__(self, _dict):
|
def __init__(self, _dict):
|
||||||
super().__init__(_dict)
|
super().__init__(_dict)
|
||||||
self._set_permissions(_dict.get('permissions', {}))
|
self.permissions = _dict.get('permissions', {})
|
||||||
self.max_failed_login_count = current_app.config['MAX_FAILED_LOGIN_COUNT']
|
self.max_failed_login_count = current_app.config['MAX_FAILED_LOGIN_COUNT']
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
@@ -86,7 +86,12 @@ class User(JSONModel, UserMixin):
|
|||||||
return None
|
return None
|
||||||
return user
|
return user
|
||||||
|
|
||||||
def _set_permissions(self, permissions_by_service):
|
@property
|
||||||
|
def permissions(self):
|
||||||
|
return self._permissions
|
||||||
|
|
||||||
|
@permissions.setter
|
||||||
|
def permissions(self, permissions_by_service):
|
||||||
"""
|
"""
|
||||||
Permissions is a dict {'service_id': ['permission a', 'permission b', 'permission c']}
|
Permissions is a dict {'service_id': ['permission a', 'permission b', 'permission c']}
|
||||||
|
|
||||||
@@ -174,14 +179,6 @@ class User(JSONModel, UserMixin):
|
|||||||
super(User, self).is_authenticated
|
super(User, self).is_authenticated
|
||||||
)
|
)
|
||||||
|
|
||||||
@property
|
|
||||||
def permissions(self):
|
|
||||||
return self._permissions
|
|
||||||
|
|
||||||
@permissions.setter
|
|
||||||
def permissions(self, permissions):
|
|
||||||
raise AttributeError("Read only property")
|
|
||||||
|
|
||||||
def has_permissions(self, *permissions, restrict_admin_usage=False):
|
def has_permissions(self, *permissions, restrict_admin_usage=False):
|
||||||
unknown_permissions = set(permissions) - all_permissions
|
unknown_permissions = set(permissions) - all_permissions
|
||||||
if unknown_permissions:
|
if unknown_permissions:
|
||||||
|
|||||||
Reference in New Issue
Block a user