Skip to content

Commit

Permalink
[#2938] Odd feature in sorting organization by packages
Browse files Browse the repository at this point in the history
  • Loading branch information
Yan committed Mar 6, 2017
1 parent efcfe97 commit 13ff28f
Show file tree
Hide file tree
Showing 4 changed files with 52 additions and 3 deletions.
4 changes: 3 additions & 1 deletion ckan/logic/action/get.py
Expand Up @@ -366,8 +366,10 @@ def _group_or_org_list(context, data_dict, is_org=False):

query = query.filter(model.Member.group_id == model.Group.id) \
.filter(model.Member.table_id == model.Package.id) \
.filter(model.Member.state == 'active') \
.filter(model.Member.table_name == 'package') \
.filter(model.Package.state == 'active')
.filter(model.Package.state == 'active') \
.filter(model.Package.private == 'FALSE')
else:
query = model.Session.query(model.Group.id,
model.Group.name)
Expand Down
2 changes: 1 addition & 1 deletion ckan/public/base/less/search.less
Expand Up @@ -58,7 +58,7 @@
display: inline;
}
select {
width: 160px;
width: 175px;
margin: 0;
}
}
Expand Down
2 changes: 1 addition & 1 deletion ckan/templates/snippets/search_form.html
@@ -1,7 +1,7 @@
{% import 'macros/form.html' as form %}

{% set placeholder = placeholder if placeholder else _('Search datasets...') %}
{% set sorting = sorting if sorting else [(_('Name Ascending'), 'name asc'), (_('Name Descending'), 'name desc')] %}
{% set sorting = sorting if sorting else [(_('Name Ascending'), 'name asc'), (_('Name Descending'), 'name desc'), (_('Packages Ascending'), 'package_count asc'), (_('Packages Descending'), 'package_count desc')] %}
{% set search_class = search_class if search_class else 'search-giant' %}
{% set no_bottom_border = no_bottom_border if no_bottom_border else false %}
{% set form_id = form_id if form_id else false %}
Expand Down
47 changes: 47 additions & 0 deletions ckan/tests/logic/action/test_get.py
Expand Up @@ -402,6 +402,53 @@ def test_organization_list(self):
assert (sorted(org_list) ==
sorted([g['name'] for g in [org1, org2]]))

def test_organization_list_package_count(self):

user = factories.Sysadmin()
factories.Organization(name='aa')
factories.Organization(name='bb')
dataset_one = factories.Dataset(name='change_org', owner_org='aa')
factories.Dataset(owner_org='aa')
factories.Dataset(owner_org='aa')
factories.Dataset(owner_org='bb')
factories.Dataset(owner_org='bb')

group_list = helpers.call_action(
'organization_list', sort='package_count desc')
eq(group_list, ['aa', 'bb'])

dataset_one['owner_org'] = 'bb'
helpers.call_action('package_update',
context={'user': user['name']},
**dataset_one)

group_list = helpers.call_action(
'organization_list', sort='package_count desc')
eq(group_list, ['bb', 'aa'])

factories.Dataset(owner_org='aa')

dataset_one['private'] = True
helpers.call_action('package_update',
context={'user': user['name']},
**dataset_one)

group_list = helpers.call_action(
'organization_list', sort='package_count asc')

eq(group_list, ['bb', 'aa'])

dataset_one['private'] = False
helpers.call_action('package_update',
context={'user': user['name']},
**dataset_one)

group_list = helpers.call_action(
'organization_list', sort='package_count asc')

eq(group_list, ['aa', 'bb'])


def test_organization_list_in_presence_of_groups(self):
'''
Getting the organization_list only returns organization group
Expand Down

0 comments on commit 13ff28f

Please sign in to comment.