Implement save group deletion, Close #44

This commit is contained in:
Götz 2019-04-12 19:14:12 +02:00
parent 1f180f847c
commit cae2f3a2be
4 changed files with 37 additions and 1 deletions

View File

@ -49,6 +49,8 @@ urlpatterns = [
name='realm-group-detail'),
path('realm/<int:realm_id>/group/<str:group_dn>/update/', account_manager.views.group_views.group_update,
name='realm-group-update'),
path('realm/<int:realm_id>/group/<str:group_dn>/delete/confirm/', account_manager.views.group_views.group_delete_confirm,
name='realm-group-delete-confirm'),
path('realm/<int:realm_id>/group/<str:group_dn>/delete/', account_manager.views.group_views.group_delete,
name='realm-group-delete'),

View File

@ -124,3 +124,14 @@ def group_delete(request, realm_id, group_dn):
group.delete()
return redirect('realm-group-list', realm_id)
@login_required
@is_realm_admin
@protect_cross_realm_group_access
def group_delete_confirm(request, realm_id, group_dn):
realm = Realm.objects.get(id=realm_id)
LdapGroup.base_dn = f'ou=groups,{realm.ldap_base_dn}'
group = LdapGroup.objects.get(dn=group_dn)
return render(request, 'group/group_confirm_delete.jinja2',
{'realm': realm, 'group': group})

View File

@ -0,0 +1,23 @@
{% extends 'base.jinja2' %}
{% block content %}
<div class="col-12 ">
<div class="row justify-content-center justify-content-sm-center">
<div class="col-12 col-sm-8 col-md-7 col-lg-5 col-xl-4 bg-white text-dark p-3 mt-5">
<div class="alert alert-warning" role="alert">
<p>Achtung! Sie sind gerade dabei die Gruppe <strong>{{ group.name }}</strong> aus dem
Bereich <strong>{{ realm.name }}</strong> zu löschen.
</p>
<p>Falls Sie sich sicher sind, dass Sie diese Gruppe löschen wollen, klicken Sie bitte auf "Gruppe
löschen".
<p>Möchten Sie das Löschen der Gruppe verhindern, klicken Sie auf "Abbrechen"</p>
</div>
<div class="d-flex">
<a href="{{ url('realm-group-detail', args = [realm.id, group.dn]) }}"
class="btn btn-secondary mr-auto p-2">Abbrechen</a>
<a href="{{ url('realm-group-delete', args = [realm.id, group.dn]) }}"
class="btn btn-danger p-2">Gruppe löschen</a>
</div>
</div>
</div>
</div>
{% endblock %}

View File

@ -13,7 +13,7 @@
<div class="d-flex mt-3">
<a href="{{ url('realm-group-update', args = [realm.id, group.dn]) }}" class="btn btn-primary mr-auto p-2">
<i class="fas fa-pen-square"></i> Gruppe bearbeiten</a>
<a href="{{ url('realm-group-delete', args = [realm.id, group.dn]) }}" class="btn btn-danger p-2"><i
<a href="{{ url('realm-group-delete-confirm', args = [realm.id, group.dn]) }}" class="btn btn-danger p-2"><i
class="fas fa-trash"></i> <span class="d-sm-none d-md-inline-block">Gruppe löschen</span></a>
</div>
{% else %}