diff --git a/ipa-python/ipaclient.py b/ipa-python/ipaclient.py
index a7bd81833..9464ee77e 100644
--- a/ipa-python/ipaclient.py
+++ b/ipa-python/ipaclient.py
@@ -299,10 +299,10 @@ class IPAClient:
return self.transport.update_group(group.origDataDict(), group.toDict())
- def delete_group(self,group_cn):
+ def delete_group(self,group_dn):
"""Delete a group entry."""
- return self.transport.delete_group(group_cn)
+ return self.transport.delete_group(group_dn)
def add_group_to_group(self, group_cn, tgroup_cn):
"""Add a group to an existing group.
diff --git a/ipa-python/rpcclient.py b/ipa-python/rpcclient.py
index 615f4a0a5..a69fd1338 100644
--- a/ipa-python/rpcclient.py
+++ b/ipa-python/rpcclient.py
@@ -534,12 +534,12 @@ class RPCClient:
return ipautil.unwrap_binary_data(result)
- def delete_group(self,group_cn):
- """Delete a group. group_cn is the cn of the group to be deleted."""
+ def delete_group(self,group_dn):
+ """Delete a group. group_dn is the dn of the group to be deleted."""
server = self.setup_server()
try:
- result = server.delete_group(group_cn)
+ result = server.delete_group(group_dn)
except xmlrpclib.Fault, fault:
raise ipaerror.gen_exception(fault.faultCode, fault.faultString)
except socket.error, (value, msg):
diff --git a/ipa-server/ipa-gui/ipagui/subcontrollers/group.py b/ipa-server/ipa-gui/ipagui/subcontrollers/group.py
index 4c6204c36..d4663f7ae 100644
--- a/ipa-server/ipa-gui/ipagui/subcontrollers/group.py
+++ b/ipa-server/ipa-gui/ipagui/subcontrollers/group.py
@@ -380,6 +380,22 @@ class GroupController(IPAController):
turbogears.flash("Group show failed: " + str(e))
raise turbogears.redirect("/")
+ @expose()
+ @identity.require(identity.not_anonymous())
+ def delete(self, dn):
+ """Delete group."""
+ self.restrict_post()
+ client = self.get_ipaclient()
+
+ try:
+ client.delete_group(dn)
+
+ turbogears.flash("group deleted")
+ raise turbogears.redirect('/group/list')
+ except (SyntaxError, ipaerror.IPAError), e:
+ turbogears.flash("Group deletion failed: " + str(e) + "
" + str(e.detail))
+ raise turbogears.redirect('/group/list')
+
@validate(form=group_new_form)
@identity.require(identity.not_anonymous())
def groupcreatevalidate(self, tg_errors=None, **kw):
diff --git a/ipa-server/ipa-gui/ipagui/subcontrollers/user.py b/ipa-server/ipa-gui/ipagui/subcontrollers/user.py
index 58e6c6ec5..570ca2a42 100644
--- a/ipa-server/ipa-gui/ipagui/subcontrollers/user.py
+++ b/ipa-server/ipa-gui/ipagui/subcontrollers/user.py
@@ -127,9 +127,11 @@ class UserController(IPAController):
new_user.setValue('businesscategory', kw.get('businesscategory'))
new_user.setValue('description', kw.get('description'))
new_user.setValue('employeetype', kw.get('employeetype'))
- new_user.setValue('manager', kw.get('manager'))
+ if kw.get('manager'):
+ new_user.setValue('manager', kw.get('manager'))
new_user.setValue('roomnumber', kw.get('roomnumber'))
- new_user.setValue('secretary', kw.get('secretary'))
+ if kw.get('secretary'):
+ new_user.setValue('secretary', kw.get('secretary'))
new_user.setValue('carlicense', kw.get('carlicense'))
new_user.setValue('labeleduri', kw.get('labeleduri'))
@@ -515,6 +517,22 @@ class UserController(IPAController):
turbogears.flash("User show failed: " + str(e))
raise turbogears.redirect("/")
+ @expose()
+ @identity.require(identity.not_anonymous())
+ def delete(self, uid):
+ """Delete user."""
+ self.restrict_post()
+ client = self.get_ipaclient()
+
+ try:
+ client.delete_user(uid)
+
+ turbogears.flash("user deleted")
+ raise turbogears.redirect('/user/list')
+ except (SyntaxError, ipaerror.IPAError), e:
+ turbogears.flash("User deletion failed: " + str(e))
+ raise turbogears.redirect('/user/list')
+
@validate(form=user_new_form)
@identity.require(identity.not_anonymous())
def usercreatevalidate(self, tg_errors=None, **kw):
diff --git a/ipa-server/ipa-gui/ipagui/templates/groupeditform.kid b/ipa-server/ipa-gui/ipagui/templates/groupeditform.kid
index 9b76daa01..2131193f3 100644
--- a/ipa-server/ipa-gui/ipagui/templates/groupeditform.kid
+++ b/ipa-server/ipa-gui/ipagui/templates/groupeditform.kid
@@ -1,5 +1,11 @@