diff --git a/account_manager/urls.py b/account_manager/urls.py index 1d9f7bb..b058943 100644 --- a/account_manager/urls.py +++ b/account_manager/urls.py @@ -49,6 +49,8 @@ urlpatterns = [ name='realm-group-detail'), path('realm//group//update/', account_manager.views.group_views.group_update, name='realm-group-update'), + path('realm//group//delete/confirm/', account_manager.views.group_views.group_delete_confirm, + name='realm-group-delete-confirm'), path('realm//group//delete/', account_manager.views.group_views.group_delete, name='realm-group-delete'), diff --git a/account_manager/views/group_views.py b/account_manager/views/group_views.py index e3f0fae..18a10cf 100644 --- a/account_manager/views/group_views.py +++ b/account_manager/views/group_views.py @@ -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}) diff --git a/templates/group/group_confirm_delete.jinja2 b/templates/group/group_confirm_delete.jinja2 new file mode 100644 index 0000000..84b823f --- /dev/null +++ b/templates/group/group_confirm_delete.jinja2 @@ -0,0 +1,23 @@ +{% extends 'base.jinja2' %} +{% block content %} +
+
+
+ + +
+
+
+{% endblock %} \ No newline at end of file diff --git a/templates/group/group_detail.jinja2 b/templates/group/group_detail.jinja2 index 5409e64..8926c9e 100644 --- a/templates/group/group_detail.jinja2 +++ b/templates/group/group_detail.jinja2 @@ -13,7 +13,7 @@ {% else %}