summaryrefslogtreecommitdiffstats
path: root/ipa-server/xmlrpc-server
diff options
context:
space:
mode:
authorKevin McCarthy <kmccarth@redhat.com>2007-10-18 14:33:55 -0700
committerKevin McCarthy <kmccarth@redhat.com>2007-10-18 14:33:55 -0700
commit5e651a6496848f5ee3f6415ef3b56ca140c88556 (patch)
tree3a8f78b27aa28d2125275d42fa07110fa34ad42a /ipa-server/xmlrpc-server
parentf018c2123c2b0018af5d41ec007ac8ddf0f04d31 (diff)
downloadfreeipa-5e651a6496848f5ee3f6415ef3b56ca140c88556.tar.gz
freeipa-5e651a6496848f5ee3f6415ef3b56ca140c88556.tar.xz
freeipa-5e651a6496848f5ee3f6415ef3b56ca140c88556.zip
Finish the email autosuggest.
For now I've added a new API call. The field-specific searching is a ways off.
Diffstat (limited to 'ipa-server/xmlrpc-server')
-rw-r--r--ipa-server/xmlrpc-server/funcs.py11
-rw-r--r--ipa-server/xmlrpc-server/ipaxmlrpc.py1
2 files changed, 11 insertions, 1 deletions
diff --git a/ipa-server/xmlrpc-server/funcs.py b/ipa-server/xmlrpc-server/funcs.py
index 8ba0efdde..4b2cfc9f3 100644
--- a/ipa-server/xmlrpc-server/funcs.py
+++ b/ipa-server/xmlrpc-server/funcs.py
@@ -377,7 +377,16 @@ class IPAServer:
filter = "(krbPrincipalName="+self.__safe_filter(principal)+")"
return self.__get_sub_entry(self.basedn, filter, sattrs, opts)
-
+
+ def get_user_by_email (self, email, sattrs=None, opts=None):
+ """Get a specific user's entry. Return as a dict of values.
+ Multi-valued fields are represented as lists.
+ """
+
+ email = self.__safe_filter(email)
+ filter = "(mail=" + email + ")"
+ return self.__get_sub_entry(self.basedn, filter, sattrs, opts)
+
def get_users_by_manager (self, manager_dn, sattrs=None, opts=None):
"""Gets the users that report to a particular manager.
"""
diff --git a/ipa-server/xmlrpc-server/ipaxmlrpc.py b/ipa-server/xmlrpc-server/ipaxmlrpc.py
index e9da95869..2785c6807 100644
--- a/ipa-server/xmlrpc-server/ipaxmlrpc.py
+++ b/ipa-server/xmlrpc-server/ipaxmlrpc.py
@@ -323,6 +323,7 @@ def handler(req, profiling=False):
h.register_function(f.update_entry)
h.register_function(f.get_user_by_uid)
h.register_function(f.get_user_by_principal)
+ h.register_function(f.get_user_by_email)
h.register_function(f.get_users_by_manager)
h.register_function(f.add_user)
h.register_function(f.get_add_schema)