summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRob Crittenden <rcritten@redhat.com>2008-10-14 22:48:57 -0400
committerRob Crittenden <rcritten@redhat.com>2008-10-14 22:48:57 -0400
commitf7c044495ae22d372fb064dbacfe0ff027c437a7 (patch)
treeee4308d2ceb369906d7ad44abd2f826dffe44796
parentcfc8450efd92dc0fb6648e97b27416c67625adfb (diff)
downloadfreeipa-f7c044495ae22d372fb064dbacfe0ff027c437a7.tar.gz
freeipa-f7c044495ae22d372fb064dbacfe0ff027c437a7.tar.xz
freeipa-f7c044495ae22d372fb064dbacfe0ff027c437a7.zip
Port user_del to CrudBackend
Override output_for_cli() to generate nicer output
-rw-r--r--ipalib/plugins/f_user.py32
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)