diff options
author | Rob Crittenden <rcritten@redhat.com> | 2008-10-14 22:48:57 -0400 |
---|---|---|
committer | Rob Crittenden <rcritten@redhat.com> | 2008-10-14 22:48:57 -0400 |
commit | f7c044495ae22d372fb064dbacfe0ff027c437a7 (patch) | |
tree | ee4308d2ceb369906d7ad44abd2f826dffe44796 /ipalib | |
parent | cfc8450efd92dc0fb6648e97b27416c67625adfb (diff) | |
download | freeipa-f7c044495ae22d372fb064dbacfe0ff027c437a7.tar.gz freeipa-f7c044495ae22d372fb064dbacfe0ff027c437a7.tar.xz freeipa-f7c044495ae22d372fb064dbacfe0ff027c437a7.zip |
Port user_del to CrudBackend
Override output_for_cli() to generate nicer output
Diffstat (limited to 'ipalib')
-rw-r--r-- | ipalib/plugins/f_user.py | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/ipalib/plugins/f_user.py b/ipalib/plugins/f_user.py index 1e79c4b8d..79c457353 100644 --- a/ipalib/plugins/f_user.py +++ b/ipalib/plugins/f_user.py @@ -157,23 +157,30 @@ class user_add(crud.Add): return ldap.create(**kw) + def output_for_cli(self, ret): + """ + Output result of this command to command line interface. + """ + if ret: + print "User added" + api.register(user_add) class user_del(crud.Del): 'Delete an existing user.' - def execute(self, *args, **kw): - """args[0] = uid of the user to remove - - Delete a user. Not to be confused with inactivate_user. This + def execute(self, uid, **kw): + """Delete a user. Not to be confused with inactivate_user. This makes the entry go away completely. uid is the uid of the user to delete The memberOf plugin handles removing the user from any other groups. + + :param uid: The login name of the user being added. + :param kw: Not used. """ - uid = args[0] if uid == "admin": # FIXME: do we still want a "special" user? raise SyntaxError("admin required") @@ -183,11 +190,16 @@ class user_del(crud.Del): if not user: raise errors.NotFound - return servercore.delete_entry(user['dn']) - def forward(self, *args, **kw): - result = super(crud.Del, self).forward(*args, **kw) - if result: - print "User %s removed" % args[0] + ldap = self.api.Backend.ldap + dn = ldap.find_entry_dn("uid", uid, ["*"], "posixAccount") + return ldap.delete(dn) + def output_for_cli(self, ret): + """ + Output result of this command to command line interface. + """ + if ret: + print "User deleted" + api.register(user_del) |