mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Add delete user and group to webgui.
NOTE: this doesn't handle referential integrity.
This commit is contained in:
parent
28641544e7
commit
859291a706
@ -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.
|
||||
|
@ -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):
|
||||
|
@ -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) + "<br/>" + 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):
|
||||
|
@ -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):
|
||||
|
@ -1,5 +1,11 @@
|
||||
<div xmlns:py="http://purl.org/kid/ns#"
|
||||
class="simpleroster">
|
||||
|
||||
<form style="display:none" id='deleteform'
|
||||
method="post" action="${tg.url('/group/delete')}">
|
||||
<input type="hidden" name="dn" value="${value.get('dn')}" />
|
||||
</form>
|
||||
|
||||
<form action="${action}" name="${name}" method="${method}" class="tableform"
|
||||
onsubmit="preSubmit()" >
|
||||
|
||||
@ -13,6 +19,14 @@
|
||||
<input type="submit" class="submitbutton" name="submit"
|
||||
value="Cancel Edit" />
|
||||
</td>
|
||||
<td>
|
||||
|
||||
<input type="button" class="deletebutton"
|
||||
value="Delete Group"
|
||||
onclick="return confirmDelete();"
|
||||
/>
|
||||
<br/><br/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@ -46,6 +60,13 @@ from ipagui.helpers import ipahelper
|
||||
evalScripts: true });
|
||||
return false;
|
||||
}
|
||||
|
||||
function confirmDelete() {
|
||||
if (confirm("Are you sure you want to delete this group?")) {
|
||||
$('deleteform').submit();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</script>
|
||||
|
||||
<div py:for="field in hidden_fields"
|
||||
@ -188,6 +209,14 @@ from ipagui.helpers import ipahelper
|
||||
<input type="submit" class="submitbutton" name="submit"
|
||||
value="Cancel Edit" />
|
||||
</td>
|
||||
<td>
|
||||
<br />
|
||||
|
||||
<input type="button" class="deletebutton"
|
||||
value="Delete Group"
|
||||
onclick="return confirmDelete();"
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
@ -1,5 +1,11 @@
|
||||
<div xmlns:py="http://purl.org/kid/ns#"
|
||||
class="simpleroster">
|
||||
|
||||
<form style="display:none" id='deleteform'
|
||||
method="post" action="${tg.url('/user/delete')}">
|
||||
<input type="hidden" name="uid" value="${value.get('uid')}" />
|
||||
</form>
|
||||
|
||||
<form action="${action}" name="${name}" method="${method}" class="tableform"
|
||||
onsubmit="preSubmit()">
|
||||
|
||||
@ -13,7 +19,13 @@
|
||||
<input type="submit" class="submitbutton" name="submit"
|
||||
value="Cancel Edit" />
|
||||
</td>
|
||||
<td></td>
|
||||
<td>
|
||||
|
||||
<input type="button" class="deletebutton"
|
||||
value="Delete Person"
|
||||
onclick="return confirmDelete();"
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@ -84,6 +96,13 @@ from ipagui.helpers import ipahelper
|
||||
evalScripts: true });
|
||||
return false;
|
||||
}
|
||||
|
||||
function confirmDelete() {
|
||||
if (confirm("Are you sure you want to delete this person?")) {
|
||||
$('deleteform').submit();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
@ -715,7 +734,14 @@ from ipagui.helpers import ipahelper
|
||||
<input type="submit" class="submitbutton" name="submit"
|
||||
value="Cancel Edit" />
|
||||
</td>
|
||||
<td></td>
|
||||
<td>
|
||||
<br />
|
||||
|
||||
<input type="button" class="deletebutton"
|
||||
value="Delete Person"
|
||||
onclick="return confirmDelete();"
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
@ -1013,13 +1013,12 @@ class IPAServer:
|
||||
groups.
|
||||
"""
|
||||
group = self.get_entry_by_dn(group_dn, ['dn', 'cn'], opts)
|
||||
|
||||
if len(group) != 1:
|
||||
if group is None:
|
||||
raise ipaerror.gen_exception(ipaerror.LDAP_NOT_FOUND)
|
||||
|
||||
conn = self.getConnection(opts)
|
||||
try:
|
||||
res = conn.deleteEntry(group[0]['dn'])
|
||||
res = conn.deleteEntry(group_dn)
|
||||
finally:
|
||||
self.releaseConnection(conn)
|
||||
return res
|
||||
|
Loading…
Reference in New Issue
Block a user