summaryrefslogtreecommitdiffstats
path: root/ipalib
diff options
context:
space:
mode:
authorRob Crittenden <rcritten@redhat.com>2009-02-18 16:39:30 -0500
committerRob Crittenden <rcritten@redhat.com>2009-02-19 10:08:11 -0500
commitccf703a2b6b351483d2ce13045ca12f18b63d2cf (patch)
treec48fcf3349a8fbdb620d6b69a2c41e46a6fb3750 /ipalib
parentfb3f86f7037fff463b8b54e50f6bccaaffb5373c (diff)
downloadfreeipa-ccf703a2b6b351483d2ce13045ca12f18b63d2cf.tar.gz
freeipa-ccf703a2b6b351483d2ce13045ca12f18b63d2cf.tar.xz
freeipa-ccf703a2b6b351483d2ce13045ca12f18b63d2cf.zip
Add new users as a member of the default group
Diffstat (limited to 'ipalib')
-rw-r--r--ipalib/plugins/f_user.py16
1 files changed, 11 insertions, 5 deletions
diff --git a/ipalib/plugins/f_user.py b/ipalib/plugins/f_user.py
index 04e0edb42..13bc5cd01 100644
--- a/ipalib/plugins/f_user.py
+++ b/ipalib/plugins/f_user.py
@@ -130,6 +130,7 @@ class user_add(crud.Create):
ldap = self.api.Backend.ldap
kw['uid'] = uid
kw['dn'] = ldap.make_user_dn(uid)
+ default_group = None
# FIXME: enforce this elsewhere
# if servercore.uid_too_long(kw['uid']):
@@ -154,12 +155,12 @@ class user_add(crud.Create):
if not kw.get('gidnumber'):
try:
group_dn = ldap.find_entry_dn("cn", config.get('ipadefaultprimarygroup'))
- default_group = ldap.retrieve(group_dn, ['dn','gidNumber'])
+ default_group = ldap.retrieve(group_dn, ['cn', 'dn','gidNumber'])
if default_group:
kw['gidnumber'] = default_group.get('gidnumber')
except errors2.NotFound:
# Fake an LDAP error so we can return something useful to the kw
- raise errors2.NotFound, "The default group for new kws, '%s', cannot be found." % config.get('ipadefaultprimarygroup')
+ raise errors2.NotFound, "The default group for new users, '%s', cannot be found." % config.get('ipadefaultprimarygroup')
except Exception, e:
# catch everything else
raise e
@@ -176,7 +177,13 @@ class user_add(crud.Create):
# some required objectclasses
kw['objectClass'] = config.get('ipauserobjectclasses')
- return ldap.create(**kw)
+ new_user = ldap.create(**kw)
+
+ if default_group:
+ groupkw = {'users':kw.get('uid')}
+ api.Command['group_add_member'](default_group['cn'].decode('UTF-8'), **groupkw)
+
+ return new_user
def output_for_cli(self, textui, result, *args, **options):
"""
@@ -334,8 +341,7 @@ class user_show(crud.Retrieve):
return ldap.retrieve(dn, default_attributes)
def output_for_cli(self, textui, result, uid, **options):
- if result:
- display_user(result)
+ display_user(result)
api.register(user_show)