Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix package permission checks for create+update #1664

Merged
merged 7 commits into from
Jun 25, 2014

Conversation

wardi
Copy link
Contributor

@wardi wardi commented Apr 23, 2014

My interpretation of the three configuration options affecting whether a package create+update will be allowed:

CUD
create_unowned_dataset (default True)
CDNIO
create_dataset_if_not_in_organization (default True)
ACD
anon_create_dataset (default False)
CUD CDNIO ACD anon user user not in org user in org
False * *
True False False
True False True
True True False
True True True

This PR implements the checks described in the table above and uses the same code in both create and update operations. The original checks did not cover a number of the combinations possible. One could argue that users shouldn't set permissions certain ways, but I'd rather not have CKAN fail when they do.

Use the same permission checks for both package_update and package_create
and check all the applicable config options: anon_create_dataset,
create_unowned_dataset and create_dataset_if_not_in_organization
@amercader amercader self-assigned this Apr 24, 2014
@seanh
Copy link
Contributor

seanh commented Apr 24, 2014

@wardi
Copy link
Contributor Author

wardi commented Apr 24, 2014

@seanh thanks. I'll add some tests. Probably not for all 24 combinations, but a representative sample.

@@ -137,3 +139,39 @@ def _get_test_app():
app = ckan.config.middleware.make_app(config['global_conf'], **config)
app = webtest.TestApp(app)
return app


def change_config(key, value):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Love this 😻

wardi added a commit that referenced this pull request Jun 25, 2014
Use the same permission checks for both package_update and package_create
and check all the applicable config options: anon_create_dataset,
create_unowned_dataset and create_dataset_if_not_in_organization
wardi added a commit that referenced this pull request Jun 25, 2014
wardi added a commit that referenced this pull request Jun 25, 2014
wardi added a commit that referenced this pull request Jun 25, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants