diff options
author | Martin Basti <mbasti@redhat.com> | 2016-05-13 16:19:51 +0200 |
---|---|---|
committer | Martin Basti <mbasti@redhat.com> | 2016-06-03 15:58:21 +0200 |
commit | 121e34b90e890285c480a0c89e833d1369d61401 (patch) | |
tree | 759ed15a0b4d03d36f4ca9d4783556101f0ad0d7 /ipaserver/plugins/baseldap.py | |
parent | 7c3bcafef094d77df698aa0eba8b02e8892ce1c2 (diff) | |
download | freeipa-121e34b90e890285c480a0c89e833d1369d61401.tar.gz freeipa-121e34b90e890285c480a0c89e833d1369d61401.tar.xz freeipa-121e34b90e890285c480a0c89e833d1369d61401.zip |
Allow to use non-Str attributes as keys for members
Locations use DNSNameParam as pkey_value, but implementation of searches
for members was able to use only Str param. This commit allows to use
other param classes for search.
Required for: https://fedorahosted.org/freeipa/ticket/2008
Reviewed-By: Petr Spacek <pspacek@redhat.com>
Reviewed-By: Jan Cholasta <jcholast@redhat.com>
Diffstat (limited to 'ipaserver/plugins/baseldap.py')
-rw-r--r-- | ipaserver/plugins/baseldap.py | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/ipaserver/plugins/baseldap.py b/ipaserver/plugins/baseldap.py index bbd8ba146..62b726da1 100644 --- a/ipaserver/plugins/baseldap.py +++ b/ipaserver/plugins/baseldap.py @@ -1890,9 +1890,10 @@ class LDAPSearch(BaseLDAPCommand, crud.Search): ldap_object=ldap_obj.object_name_plural ) name = '%s%s' % (relationship[1], to_cli(ldap_obj_name)) - yield Str( - '%s*' % name, cli_name='%ss' % name, doc=doc, - label=ldap_obj.object_name + yield ldap_obj.primary_key.clone_rename( + '%s' % name, cli_name='%ss' % name, doc=doc, + label=ldap_obj.object_name, multivalue=True, query=True, + required=False, primary_key=False ) doc = self.member_param_excl_doc % dict( searched_object=self.obj.object_name_plural, @@ -1900,9 +1901,10 @@ class LDAPSearch(BaseLDAPCommand, crud.Search): ldap_object=ldap_obj.object_name_plural ) name = '%s%s' % (relationship[2], to_cli(ldap_obj_name)) - yield Str( - '%s*' % name, cli_name='%ss' % name, doc=doc, - label=ldap_obj.object_name + yield ldap_obj.primary_key.clone_rename( + '%s' % name, cli_name='%ss' % name, doc=doc, + label=ldap_obj.object_name, multivalue=True, query=True, + required=False, primary_key=False ) def get_options(self): |