Extend CHECK_PERMISSIONS_IMPLEMENTED_FOR
We support flamenco.jobs. This is a temporary workaround until we implement check permissions in a way that can be extended by extensions.
This commit is contained in:
parent
f06b3c94eb
commit
d9b56f485b
@ -7,7 +7,7 @@ from flask import abort
|
||||
from flask import current_app
|
||||
from werkzeug.exceptions import Forbidden
|
||||
|
||||
CHECK_PERMISSIONS_IMPLEMENTED_FOR = {'projects', 'nodes'}
|
||||
CHECK_PERMISSIONS_IMPLEMENTED_FOR = {'projects', 'nodes', 'flamenco.jobs'}
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
@ -135,6 +135,14 @@ def compute_aggr_permissions(collection_name, resource, check_node_type=None):
|
||||
if check_node_type is None:
|
||||
return project['permissions']
|
||||
node_type_name = check_node_type
|
||||
elif 'node_type' not in resource:
|
||||
# Neither a project, nor a node, therefore is another collection
|
||||
projects_collection = current_app.data.driver.db['projects']
|
||||
project = projects_collection.find_one(
|
||||
ObjectId(resource['project']),
|
||||
{'permissions': 1})
|
||||
return project['permissions']
|
||||
|
||||
else:
|
||||
# Not a project, so it's a node.
|
||||
assert 'project' in resource
|
||||
|
Loading…
x
Reference in New Issue
Block a user