diff --git a/ckan/logic/validators.py b/ckan/logic/validators.py index 8c32940c5f3..61b0aa7b8b9 100644 --- a/ckan/logic/validators.py +++ b/ckan/logic/validators.py @@ -35,8 +35,9 @@ def owner_org_validator(key, data, errors, context): if value == '' : if not new_authz.check_config_permission('create_unowned_dataset'): raise Invalid(_('A organization must be supplied')) + package = context.get('package') # only sysadmins can remove datasets from org - if not user.sysadmin: + if package and package.owner_org and not user.sysadmin: raise Invalid(_('You cannot remove a dataset from an existing organization')) return