From 1480224724864cb7cf34c9be755b905c61f885b9 Mon Sep 17 00:00:00 2001 From: Jason Gerard DeRose Date: Tue, 14 Oct 2008 01:45:30 -0600 Subject: Started roughing out user_add() using api.Backend.ldap; added Command.output_for_cli() to take care of formatting print output --- ipalib/plugins/f_user.py | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) (limited to 'ipalib/plugins/f_user.py') diff --git a/ipalib/plugins/f_user.py b/ipalib/plugins/f_user.py index 22fb8a27..571f6fa8 100644 --- a/ipalib/plugins/f_user.py +++ b/ipalib/plugins/f_user.py @@ -75,12 +75,26 @@ api.register(user) class user_add(crud.Add): 'Add a new user.' - def execute(self, *args, **kw): - """args[0] = uid of the user to add - kw{container} is the location in the DIT to add the user, not - required - kw otherwise contains all the attributes + + def execute(self, uid, **kw): + """ + Execute the user-add operation. + + The dn should not be passed as a keyword argument as it is constructed + by this method. + + Returns the entry as it will be created in LDAP. + + :param uid: The login name of the user being added. + :param kw: Keyword arguments for the other LDAP attributes. """ + assert 'uid' not in kw + assert 'dn' not in kw + kw['uid'] = uid + kw['dn'] = self.api.Backend.ldap.get_user_dn(uid) + + return kw + # FIXME: ug, really? if not kw.get('container'): user_container = servercore.DefaultUserContainer @@ -162,10 +176,6 @@ class user_add(crud.Add): result = servercore.add_entry(entry) return result - def forward(self, *args, **kw): - result = super(crud.Add, self).forward(*args, **kw) - if result: - print "User %s added" % args[0] api.register(user_add) -- cgit