diff --git a/ckan/controllers/group.py b/ckan/controllers/group.py index 5a65a20cdfa..4af61cc2e97 100644 --- a/ckan/controllers/group.py +++ b/ckan/controllers/group.py @@ -14,6 +14,7 @@ from ckan.logic import check_access, get_action from ckan.logic.schema import group_form_schema from ckan.logic import tuplize_dict, clean_dict, parse_params +from ckan.lib.dictization.model_dictize import package_dictize import ckan.forms class GroupController(BaseController): @@ -95,15 +96,21 @@ def read(self, id): c.group_description_formatted = desc_formatted c.group_admins = self.authorizer.get_admins(c.group) + context['return_query'] = True results = get_action('group_package_show')(context, data_dict) c.page = Page( collection=results, page=request.params.get('page', 1), url=h.pager_url, - items_per_page=50 + items_per_page=30 ) + result = [] + for pkg_rev in c.page.items: + result.append(package_dictize(pkg_rev, context)) + c.page.items = result + return render('group/read.html') def new(self, data=None, errors=None, error_summary=None): diff --git a/ckan/logic/action/get.py b/ckan/logic/action/get.py index 4433c55b369..a8f96671cf1 100644 --- a/ckan/logic/action/get.py +++ b/ckan/logic/action/get.py @@ -439,6 +439,9 @@ def group_package_show(context, data_dict): if limit: query = query.limit(limit) + if context.get('return_query'): + return query + result = [] for pkg_rev in query.all(): result.append(package_dictize(pkg_rev, context)) diff --git a/ckan/tests/functional/test_pagination.py b/ckan/tests/functional/test_pagination.py index ae40935cda6..adc95ddd9d9 100644 --- a/ckan/tests/functional/test_pagination.py +++ b/ckan/tests/functional/test_pagination.py @@ -54,11 +54,11 @@ def test_group_index(self): def test_group_read(self): res = self.app.get(url_for(controller='group', action='read', id='group_00')) assert 'href="/group/group_00?page=2' in res - assert 'href="/dataset/package_49"' in res + assert 'href="/dataset/package_29"' in res res = self.app.get(url_for(controller='group', action='read', id='group_00', page=2)) assert 'href="/group/group_00?page=1' in res - assert 'href="/dataset/package_50"' in res + assert 'href="/dataset/package_30"' in res def test_users_index(self): # allow for 2 extra users shown on user listing, 'logged_in' and 'visitor'