From 05f6a22110f058c089e4e9cd6d538264f439f5d2 Mon Sep 17 00:00:00 2001 From: "rcritten@redhat.com" Date: Fri, 17 Aug 2007 10:03:33 -0400 Subject: Implement user inactivation Comment some functions Add attribute argument to get_user() --- ipa-python/ipaclient.py | 33 +++++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) (limited to 'ipa-python/ipaclient.py') diff --git a/ipa-python/ipaclient.py b/ipa-python/ipaclient.py index 626e0a11..783c7ec8 100644 --- a/ipa-python/ipaclient.py +++ b/ipa-python/ipaclient.py @@ -41,14 +41,19 @@ class IPAClient: self.transport = rpcclient.RPCClient() def set_principal(self,princ): + """Set the name of the principal that will be used for + LDAP proxy authentication""" if self.local: self.transport.set_principal(princ) - def get_user(self,uid): - result = self.transport.get_user(uid) + def get_user(self,uid,sattrs=None): + """Get a specific user by uid. If sattrs is set then only those + attributes will be returned.""" + result = self.transport.get_user(uid,sattrs) return user.User(result) def add_user(self,user): + """Add a user. user is a dict of attribute/value pairs""" realm = config.config.get_realm() @@ -73,32 +78,48 @@ class IPAClient: return result def get_all_users(self): + """Get as a list of User objects all users in the directory""" result = self.transport.get_all_users() all_users = [] for (attrs) in result: - if attrs is not None: - all_users.append(user.User(attrs)) + if attrs is not None: + all_users.append(user.User(attrs)) return all_users def get_add_schema(self): + """Prototype for the GUI. Specify in the directory fields to + be displayed and what data to get for new users.""" result = self.transport.get_add_schema() return result def find_users(self, criteria, sattrs=None): + """Find users whose uid matches the criteria. Wildcards are + acceptable. Returns a list of User objects.""" result = self.transport.find_users(criteria, sattrs) users = [] for (attrs) in result: - if attrs is not None: - users.append(user.User(attrs)) + if attrs is not None: + users.append(user.User(attrs)) return users def update_user(self,olduser,newuser): + """Update a user entry. olduser is a dict of attribute/value pairs + of the original entry. newuser is a dict of attribute/value pairs + of the new entry.""" realm = config.config.get_realm() result = self.transport.update_user(olduser,newuser) return result + + def mark_user_deleted(self,uid): + """Set a user as inactive by uid.""" + + realm = config.config.get_realm() + + result = self.transport.mark_user_deleted(uid) + return result -- cgit From 0ddf0699a5dd47c575a7e757f38819c8c74340f9 Mon Sep 17 00:00:00 2001 From: Kevin McCarthy Date: Thu, 16 Aug 2007 15:05:36 -0700 Subject: Add update user to gui. Fix fields to be lowercase in web gui (server now returns them lowercase). Fix ipaclient.py to refer to lowercase fields when adding a user. Fix user.getValue() to check isinstance(value,list) instead of value[0]. --- ipa-python/ipaclient.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'ipa-python/ipaclient.py') diff --git a/ipa-python/ipaclient.py b/ipa-python/ipaclient.py index 783c7ec8..28e56001 100644 --- a/ipa-python/ipaclient.py +++ b/ipa-python/ipaclient.py @@ -59,18 +59,18 @@ class IPAClient: # FIXME: This should be dynamic and can include just about anything # Let us add in some missing attributes - if user.get('homeDirectory') is None: - user['homeDirectory'] ='/home/%s' % user['uid'] + if user.get('homedirectory') is None: + user['homedirectory'] ='/home/%s' % user['uid'] if user.get('gecos') is None: user['gecos'] = user['uid'] # FIXME: This can be removed once the DS plugin is installed - user['uidNumber'] ='501' + user['uidnumber'] ='501' # FIXME: What is the default group for users? - user['gidNumber'] ='501' - user['krbPrincipalName'] = "%s@%s" % (user['uid'], realm) - user['cn'] = "%s %s" % (user['givenName'], user['sn']) + user['gidnumber'] ='501' + user['krbprincipalname'] = "%s@%s" % (user['uid'], realm) + user['cn'] = "%s %s" % (user['givenname'], user['sn']) if user.get('gn'): del user['gn'] -- cgit