From 8a0c3cb945acc7405cf66e730a55e42fe5effca3 Mon Sep 17 00:00:00 2001 From: Kevin McCarthy Date: Fri, 17 Aug 2007 10:58:56 -0700 Subject: Change userlist into a quick search form. Add hack to update cn using givenname+sn (for now). Change funcs.find_users() to not error if no results. --- ipa-server/ipa-gui/ipagui/controllers.py | 16 ++++++-- ipa-server/ipa-gui/ipagui/templates/userlist.kid | 50 +++++++++++++++++------- ipa-server/xmlrpc-server/funcs.py | 3 +- 3 files changed, 49 insertions(+), 20 deletions(-) diff --git a/ipa-server/ipa-gui/ipagui/controllers.py b/ipa-server/ipa-gui/ipagui/controllers.py index dd2ecffb7..ae8b088b7 100644 --- a/ipa-server/ipa-gui/ipagui/controllers.py +++ b/ipa-server/ipa-gui/ipagui/controllers.py @@ -134,6 +134,11 @@ class Root(controllers.RootController): set_ldap_value(new_user, 'sn', kw.get('sn')) set_ldap_value(new_user, 'mail', kw.get('mail')) set_ldap_value(new_user, 'telephonenumber', kw.get('telephonenumber')) + # + # this is a hack until we decide on the policy for names/cn/sn/givenName + # + set_ldap_value(new_user, 'sn', + "%s %s" % (kw.get('givenname'), kw.get('sn'))) orig_user = to_ldap_hash(orig_user) new_user = to_ldap_hash(new_user) @@ -148,11 +153,14 @@ class Root(controllers.RootController): @expose("ipagui.templates.userlist") - @paginate('users', limit=3, allow_limit_override=True) - def userlist(self): + def userlist(self, **kw): """Retrieve a list of all users and display them in one huge list""" - users = client.get_all_users() - return dict(users=users) + users = None + uid = kw.get('uid') + if uid != None and len(uid) > 0: + users = client.find_users("*%s*" % uid) + + return dict(users=users, fields=forms.user.UserFields()) @expose("ipagui.templates.usershow") diff --git a/ipa-server/ipa-gui/ipagui/templates/userlist.kid b/ipa-server/ipa-gui/ipagui/templates/userlist.kid index 7b5667fb5..f8535f351 100644 --- a/ipa-server/ipa-gui/ipagui/templates/userlist.kid +++ b/ipa-server/ipa-gui/ipagui/templates/userlist.kid @@ -6,21 +6,41 @@ User Listing -
- People List -
- Page: - - ${page} - ${page} - -

- - ${user.cn} -
-
+

+
+

Results

+ + + + + + + + + +
+ + Name +
+ ${user.uid} + + ${user.cn} +
+
+ No results found.
-
+ + + +
+



+
diff --git a/ipa-server/xmlrpc-server/funcs.py b/ipa-server/xmlrpc-server/funcs.py index ec099badc..df8bceaa7 100644 --- a/ipa-server/xmlrpc-server/funcs.py +++ b/ipa-server/xmlrpc-server/funcs.py @@ -337,7 +337,8 @@ class IPAServer: except ldap.LDAPError, e: raise xmlrpclib.Fault(1, e) except ipaserver.ipaldap.NoSuchEntryError: - raise xmlrpclib.Fault(2, "No such user") + results = [] + # raise xmlrpclib.Fault(2, "No such user") users = [] for u in results: -- cgit