diff --git a/ckan/logic/schema.py b/ckan/logic/schema.py index dfeb2a0b7f0..d98debe9690 100644 --- a/ckan/logic/schema.py +++ b/ckan/logic/schema.py @@ -116,6 +116,7 @@ def default_create_tag_schema(): def default_create_package_schema(): schema = { + '__before': [duplicate_extras_key, ignore], 'id': [empty], 'revision_id': [ignore], 'name': [not_empty, unicode, name_validator, package_name_validator], @@ -139,7 +140,6 @@ def default_create_package_schema(): 'tags': default_tags_schema(), 'tag_string': [ignore_missing, tag_string_convert], 'extras': default_extras_schema(), - 'extras_validation': [duplicate_extras_key, ignore], 'save': [ignore], 'return_to': [ignore], 'relationships_as_object': default_relationship_schema(), diff --git a/ckan/logic/validators.py b/ckan/logic/validators.py index 4b448168670..42a630405fd 100644 --- a/ckan/logic/validators.py +++ b/ckan/logic/validators.py @@ -313,7 +313,7 @@ def duplicate_extras_key(key, data, errors, context): for extra_key in set(extras_keys): extras_keys.remove(extra_key) if extras_keys: - errors[key].append(_('Duplicate key "%s"') % extras_keys[0]) + errors['extras_validation'].append(_('Duplicate key "%s"') % extras_keys[0]) def group_name_validator(key, data, errors, context): model = context['model']