diff --git a/ckan/lib/navl/validators.py b/ckan/lib/navl/validators.py index f72e2788617..dcfd9f50331 100644 --- a/ckan/lib/navl/validators.py +++ b/ckan/lib/navl/validators.py @@ -92,3 +92,6 @@ def convert_int(value, context): except ValueError: raise Invalid(_('Please enter an integer value')) +def read_only_validator(value, context): + + return value diff --git a/ckan/logic/action/get.py b/ckan/logic/action/get.py index 3e4c9866feb..854f88419a9 100644 --- a/ckan/logic/action/get.py +++ b/ckan/logic/action/get.py @@ -845,12 +845,13 @@ def _group_or_org_show(context, data_dict, is_org=False): except AttributeError: schema = group_plugin.db_to_form_schema() - if schema: - group_dict, errors = _validate(group_dict, schema, context=context) - group_dict['num_followers'] = logic.get_action('group_follower_count')( {'model': model, 'session': model.Session}, {'id': group_dict['id']}) + + if schema: + group_dict, errors = _validate(group_dict, schema, context=context) + return group_dict diff --git a/ckan/logic/schema.py b/ckan/logic/schema.py index 53af9fd01ef..0d034bf1542 100644 --- a/ckan/logic/schema.py +++ b/ckan/logic/schema.py @@ -5,7 +5,8 @@ ignore, if_empty_same_as, not_missing, - ignore_empty + ignore_empty, + read_only_validator ) from ckan.logic.validators import (package_id_not_changed, package_id_exists, @@ -306,6 +307,7 @@ def default_group_schema(): def group_form_schema(): schema = default_group_schema() #schema['extras_validation'] = [duplicate_extras_key, ignore] + schema['num_followers'] = [ignore_missing, int_validator, read_only_validator] schema['packages'] = { "name": [not_empty, unicode], "title": [ignore_missing],