diff options
author | Martin Basti <mbasti@redhat.com> | 2014-03-12 16:34:22 +0100 |
---|---|---|
committer | Martin Kosek <mkosek@redhat.com> | 2014-06-03 15:55:32 +0200 |
commit | 47f473d0cac2e28980c7ecffdbfd480441eab277 (patch) | |
tree | f8df1fa5fe9cb24a7ff572e2e73cd9294bb19491 /ipalib | |
parent | 93ad23912e3bb73fc3e54d2b6734748a55fc933a (diff) | |
download | freeipa-47f473d0cac2e28980c7ecffdbfd480441eab277.tar.gz freeipa-47f473d0cac2e28980c7ecffdbfd480441eab277.tar.xz freeipa-47f473d0cac2e28980c7ecffdbfd480441eab277.zip |
Allows to sort non text entries
Part of ticket:
IPA should allow internationalized domain names
https://fedorahosted.org/freeipa/ticket/3169
Reviewed-By: Jan Cholasta <jcholast@redhat.com>
Diffstat (limited to 'ipalib')
-rw-r--r-- | ipalib/parameters.py | 5 | ||||
-rw-r--r-- | ipalib/plugins/baseldap.py | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/ipalib/parameters.py b/ipalib/parameters.py index 33ae182b5..728faee53 100644 --- a/ipalib/parameters.py +++ b/ipalib/parameters.py @@ -911,6 +911,9 @@ class Param(ReadOnly): pass return self.default + def sort_key(self, value): + return value + json_exclude_attrs = ( 'alwaysask', 'autofill', 'cli_name', 'cli_short_name', 'csv', 'sortorder', 'falsehoods', 'truths', 'version', @@ -1457,6 +1460,8 @@ class Str(Data): length=self.length, ) + def sort_key(self, value): + return value.lower() class IA5Str(Str): """ diff --git a/ipalib/plugins/baseldap.py b/ipalib/plugins/baseldap.py index cd4910bc1..86df56274 100644 --- a/ipalib/plugins/baseldap.py +++ b/ipalib/plugins/baseldap.py @@ -1936,7 +1936,8 @@ class LDAPSearch(BaseLDAPCommand, crud.Search): if self.sort_result_entries: if self.obj.primary_key: def sort_key(x): - return x[self.obj.primary_key.name][0].lower() + return self.obj.primary_key.sort_key( + x[self.obj.primary_key.name][0]) entries.sort(key=sort_key) if not options.get('raw', False): |