From 06a9b4d845c9bd2a22f897f499f283429c49decb Mon Sep 17 00:00:00 2001 From: Sergey Motornyuk Date: Mon, 5 Dec 2016 17:35:41 +0200 Subject: [PATCH] check group name and id during package creation --- ckan/logic/auth/create.py | 6 ++---- ckan/tests/legacy/functional/api/test_activity.py | 3 +++ 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/ckan/logic/auth/create.py b/ckan/logic/auth/create.py index 0d0b2abb084..9d588c92696 100644 --- a/ckan/logic/auth/create.py +++ b/ckan/logic/auth/create.py @@ -178,10 +178,8 @@ def _check_group_auth(context, data_dict): for group_blob in group_blobs: # group_blob might be a dict or a group_ref if isinstance(group_blob, dict): - if api_version == '1': - id = group_blob.get('name') - else: - id = group_blob.get('id') + # use group id by default, but we can accept name as well + id = group_blob.get('id') or group_blob.get('name') if not id: continue else: diff --git a/ckan/tests/legacy/functional/api/test_activity.py b/ckan/tests/legacy/functional/api/test_activity.py index 1350b7acaba..998a33e2806 100644 --- a/ckan/tests/legacy/functional/api/test_activity.py +++ b/ckan/tests/legacy/functional/api/test_activity.py @@ -291,6 +291,9 @@ def _create_package(self, user, name=None): # Create a new package. request_data = make_package(name) + # quick fix for #3351 + request_data['groups'] = [] + before = self.record_details(user_id=user_id, group_ids=[group['name'] for group in request_data['groups']], apikey=apikey)