summaryrefslogtreecommitdiffstats
path: root/ipa-server/ipa-gui/ipagui/controllers.py
diff options
context:
space:
mode:
authorKevin McCarthy <kmccarth@redhat.com>2007-08-28 16:01:07 -0700
committerKevin McCarthy <kmccarth@redhat.com>2007-08-28 16:01:07 -0700
commite9bd8dee3b0350c08d16d57bfd008a72cb283c48 (patch)
treef02ea70f613862f2e668bbdb691c25295d3aba20 /ipa-server/ipa-gui/ipagui/controllers.py
parentef2dc5cefa2f9ba94edea7cfce8913e3f25723bd (diff)
downloadfreeipa-e9bd8dee3b0350c08d16d57bfd008a72cb283c48.tar.gz
freeipa-e9bd8dee3b0350c08d16d57bfd008a72cb283c48.tar.xz
freeipa-e9bd8dee3b0350c08d16d57bfd008a72cb283c48.zip
Change user search to be asynchronous.
This way it returns results even if the search times out. The find_users() search now returns a counter as the first result, which is set to -1 if the results are partial.
Diffstat (limited to 'ipa-server/ipa-gui/ipagui/controllers.py')
-rw-r--r--ipa-server/ipa-gui/ipagui/controllers.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/ipa-server/ipa-gui/ipagui/controllers.py b/ipa-server/ipa-gui/ipagui/controllers.py
index ca2d15a2d..ebd0b20d6 100644
--- a/ipa-server/ipa-gui/ipagui/controllers.py
+++ b/ipa-server/ipa-gui/ipagui/controllers.py
@@ -140,10 +140,16 @@ class Root(controllers.RootController):
def userlist(self, **kw):
"""Retrieve a list of all users and display them in one huge list"""
users = None
+ counter = 0
uid = kw.get('uid')
if uid != None and len(uid) > 0:
try:
users = client.find_users(uid.encode('utf-8'))
+ counter = users[0]
+ users = users[1:]
+ if counter == -1:
+ turbogears.flash("These results are truncated.\n" +
+ "Please refine your search and try again.")
except ipaerror.IPAError, e:
turbogears.flash("User list failed: " + str(e))
raise turbogears.redirect("/userlist")