From 9ccb2a7224682bb2354e5e04f4ba697b392b7717 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20G=C3=B6tz?= Date: Thu, 11 Apr 2019 13:53:50 +0200 Subject: [PATCH] Implement save realm deletion; Close #32 --- account_manager/main_views.py | 9 +++++++ account_manager/urls.py | 1 + account_manager/views/user_views.py | 8 +++--- static/css/floating_labels.css | 7 +++++ templates/realm/realm_confirm_delete.jinja2 | 30 +++++++++++++++++++++ templates/realm/realm_detailed.jinja2 | 4 ++- 6 files changed, 54 insertions(+), 5 deletions(-) create mode 100644 templates/realm/realm_confirm_delete.jinja2 diff --git a/account_manager/main_views.py b/account_manager/main_views.py index ddc8d31..77a2811 100644 --- a/account_manager/main_views.py +++ b/account_manager/main_views.py @@ -140,6 +140,15 @@ def realm_update(request, realm_id): return render(request, 'realm/realm_update.jinja2', {'realm': realm}) +@login_required +@is_realm_admin +def realm_delete_confirm(request, realm_id): + realm = Realm.objects.get(id=realm_id) + return render(request, 'realm/realm_confirm_delete.jinja2', {'realm': realm}) + + +@login_required +@is_realm_admin def realm_delete(request, realm_id): realm = Realm.objects.get(id=realm_id) LdapUser.base_dn = realm.ldap_base_dn diff --git a/account_manager/urls.py b/account_manager/urls.py index b3d275c..4208965 100644 --- a/account_manager/urls.py +++ b/account_manager/urls.py @@ -9,6 +9,7 @@ urlpatterns = [ path('', main_views.realm_list, name='realm-home'), path('realm//', main_views.realm_detail, name='realm-detail'), path('realm//update/', main_views.realm_update, name='realm-update'), + path('realm//delete/confirm/', main_views.realm_delete_confirm, name='realm-delete-confirm'), path('realm//delete/', main_views.realm_delete, name='realm-delete'), # path('realm//mail/', main_views.realm_email_update, name='realm-mail-add-update'), path('realm//mail/test/', main_views.realm_email_test, name='realm-mail-test'), diff --git a/account_manager/views/user_views.py b/account_manager/views/user_views.py index 39bcae6..4444cf6 100644 --- a/account_manager/views/user_views.py +++ b/account_manager/views/user_views.py @@ -93,11 +93,11 @@ def realm_user_update(request, realm_id, user_dn): @login_required @is_realm_admin def realm_user_delete(request, realm_id, user_dn): - realm_obj = Realm.objects.get(id=realm_id) - LdapUser.base_dn = f'ou=people,{realm_obj.ldap_base_dn}' - LdapGroup.base_dn = f'ou=groups,{realm_obj.ldap_base_dn}' + realm = Realm.objects.get(id=realm_id) + LdapUser.base_dn = f'ou=people,{realm.ldap_base_dn}' + LdapGroup.base_dn = f'ou=groups,{realm.ldap_base_dn}' ldap_user = LdapUser.objects.get(dn=user_dn) - user_delete_controller(ldap_user, realm_obj) + user_delete_controller(ldap_user, realm) return redirect('realm-user-list', realm_id) diff --git a/static/css/floating_labels.css b/static/css/floating_labels.css index b6ca5fe..d41a231 100644 --- a/static/css/floating_labels.css +++ b/static/css/floating_labels.css @@ -169,4 +169,11 @@ position: absolute; z-index: -1; opacity: 0; +} + +/* ------------------------------------------------------------------------------------------------------------------ */ +/* -- Realm delete -- */ +/* ------------------------------------------------------------------------------------------------------------------ */ +.realm-delete-link{ + color: #6c757d; } \ No newline at end of file diff --git a/templates/realm/realm_confirm_delete.jinja2 b/templates/realm/realm_confirm_delete.jinja2 new file mode 100644 index 0000000..2d02509 --- /dev/null +++ b/templates/realm/realm_confirm_delete.jinja2 @@ -0,0 +1,30 @@ +{% extends 'base.jinja2' %} +{% block content %} +
+
+
+

Löschen des Bereichs + {{ realm.name }}

+ + +
+
+
+{% endblock %} \ No newline at end of file diff --git a/templates/realm/realm_detailed.jinja2 b/templates/realm/realm_detailed.jinja2 index 7115166..2444669 100644 --- a/templates/realm/realm_detailed.jinja2 +++ b/templates/realm/realm_detailed.jinja2 @@ -5,10 +5,12 @@

Bereich {{ realm.name }} {% if request.user.is_superuser %} - Delete + Delete {% endif %}

+ {% if notice %}

{{ notice }}

{% endif %}