Fixed bug for project['node_type'] permission fetching.

This commit is contained in:
Sybren A. Stüvel 2016-05-09 14:33:55 +02:00
parent a90f13486a
commit 82608e60d3
2 changed files with 13 additions and 1 deletions

View File

@ -392,6 +392,11 @@ def project_node_type_has_method(response):
check_node_type=node_type_name)
def projects_node_type_has_method(response):
for project in response['_items']:
project_node_type_has_method(project)
def setup_app(app, url_prefix):
app.on_replace_projects += override_is_private_field
app.on_replace_projects += before_edit_check_permissions
@ -407,5 +412,6 @@ def setup_app(app, url_prefix):
app.on_fetched_item_projects += before_returning_project_permissions
app.on_fetched_resource_projects += before_returning_project_resource_permissions
app.on_fetched_item_projects += project_node_type_has_method
app.on_fetched_resource_projects += projects_node_type_has_method
app.register_blueprint(blueprint, url_prefix=url_prefix)

View File

@ -70,7 +70,13 @@ def check_permissions(collection_name, resource, method, append_allowed_methods=
if permission_granted:
if append_allowed_methods:
# TODO: rename this field _allowed_methods
resource['allowed_methods'] = list(set(allowed_methods))
if check_node_type:
node_type = next((node_type for node_type in resource['node_types']
if node_type['name'] == check_node_type))
assign_to = node_type
else:
assign_to = resource
assign_to['allowed_methods'] = list(set(allowed_methods))
return
abort(403)