Fixed bug for project['node_type'] permission fetching.
This commit is contained in:
parent
a90f13486a
commit
82608e60d3
@ -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)
|
||||
|
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user