From 240a99b6f35fe7a7de37c83e69471b84298d0f56 Mon Sep 17 00:00:00 2001 From: "rcritten@redhat.com" Date: Thu, 23 Aug 2007 11:57:25 -0400 Subject: Move add user logic to the server side --- ipa-server/xmlrpc-server/funcs.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'ipa-server') diff --git a/ipa-server/xmlrpc-server/funcs.py b/ipa-server/xmlrpc-server/funcs.py index 0af0f5ef..aa563345 100644 --- a/ipa-server/xmlrpc-server/funcs.py +++ b/ipa-server/xmlrpc-server/funcs.py @@ -172,6 +172,34 @@ class IPAServer: dn="uid=%s,%s,%s" % (user['uid'], user_container,self.basedn) entry = ipaserver.ipaldap.Entry(dn) + # 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.get('uid') + if not user.get('gecos') is None: + user['gecos'] = user['uid'] + + # FIXME: This can be removed once the DS plugin is installed + user['uidnumber'] = '501' + + # FIXME: What is the default group for users? + user['gidnumber'] = '501' + + realm = ipa.config.config.get_realm() + user['krbprincipalname'] = "%s@%s" % (user.get('uid'), realm) + + # FIXME. This is a hack so we can request separate First and Last + # name in the GUI. + if user.get('cn') is None: + user['cn'] = "%s %s" % (user.get('givenname'), + user.get('sn')) + + if user.get('gn'): + del user['gn'] + if user.get('givenname'): + del user['givenname'] + # some required objectclasses entry.setValues('objectClass', 'top', 'posixAccount', 'shadowAccount', 'account', 'person', 'inetOrgPerson', 'organizationalPerson', 'krbPrincipalAux', 'krbTicketPolicyAux') -- cgit