From 5fd09b016b228c949963c77643f423360a4ada10 Mon Sep 17 00:00:00 2001 From: Adam Young Date: Tue, 14 Sep 2010 16:50:00 -0400 Subject: user-find whoami Now no longer breaks user-find with a filter Uses the corrected Params for getting option printf style strings --- ipalib/plugins/user.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'ipalib/plugins') diff --git a/ipalib/plugins/user.py b/ipalib/plugins/user.py index 5841d7a0..1cd28c9d 100644 --- a/ipalib/plugins/user.py +++ b/ipalib/plugins/user.py @@ -51,6 +51,7 @@ from ipalib import api, errors from ipalib import Flag, Int, Password, Str from ipalib.plugins.baseldap import * from ipalib import _, ngettext +from ipalib import util class user(LDAPObject): @@ -241,6 +242,18 @@ class user_find(LDAPSearch): Search for users. """ + takes_options = ( + Flag('whoami', + label=_('Self'), + doc=_('Display user record for current Kerberos principal'), + ), + ) + def pre_callback(self, ldap, filter, entry_attrs, attrs_list, *keys, **options): + if options.get('whoami'): + return "(&(objectclass=posixaccount)(krbprincipalname=%s))"%\ + util.get_current_principal() + return filter + msg_summary = ngettext( '%(count)d user matched', '%(count)d users matched', 0 ) -- cgit