From d1f7c97455b7a0c1f3ff1af803f2283cd9dae685 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20G=C3=B6tz?= Date: Tue, 9 Apr 2019 21:52:49 +0200 Subject: [PATCH] New user deletion sequence, Finish user view update --- account_manager/urls.py | 3 +++ account_manager/views/user_views.py | 14 ++++++++++++- templates/account_deleted.jinja2 | 5 ----- templates/registration/login.html | 14 ++++++------- templates/user/account_deleted.jinja2 | 15 ++++++++++++++ templates/user/user_confirm_delete.jinja2 | 24 +++++++++++++++++++++++ 6 files changed, 62 insertions(+), 13 deletions(-) delete mode 100644 templates/account_deleted.jinja2 create mode 100644 templates/user/account_deleted.jinja2 create mode 100644 templates/user/user_confirm_delete.jinja2 diff --git a/account_manager/urls.py b/account_manager/urls.py index 278b4fd..9086edb 100644 --- a/account_manager/urls.py +++ b/account_manager/urls.py @@ -38,6 +38,9 @@ urlpatterns = [ # User path('user//update/realm//', account_manager.views.user_views.user_update, name='user-update'), + path('user//delete/realm//confirm/', + account_manager.views.user_views.user_delete_confirm, + name='user-delete-confirm'), path('user//delete/realm//', account_manager.views.user_views.user_delete, name='user-delete'), path('reset///', account_manager.views.user_views.LdapPasswordResetConfirmView.as_view(), diff --git a/account_manager/views/user_views.py b/account_manager/views/user_views.py index c7aaa11..3b90dfe 100644 --- a/account_manager/views/user_views.py +++ b/account_manager/views/user_views.py @@ -112,6 +112,18 @@ def user_update(request, realm_id, user_dn): return redirect('permission-denied') +@login_required +def user_delete_confirm(request, realm_id, user_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) + if request.user.username == ldap_user.username: + return render(request, 'user/user_confirm_delete.jinja2', {'realm': realm, 'user': ldap_user}) + else: + return redirect('permission-denied') + + @login_required def user_delete(request, realm_id, user_dn): realm_obj = Realm.objects.get(id=realm_id) @@ -126,7 +138,7 @@ def user_delete(request, realm_id, user_dn): def user_deleted(request, realm_id): - return render(request, 'account_deleted.jinja2', {'realm': Realm.objects.get(id=realm_id)}) + return render(request, 'user/account_deleted.jinja2', {'realm': Realm.objects.get(id=realm_id)}) def user_update_controller(ldap_user, realm_id, realm_obj, request, user_dn, redirect_name, detail_page): diff --git a/templates/account_deleted.jinja2 b/templates/account_deleted.jinja2 deleted file mode 100644 index 7e45f2a..0000000 --- a/templates/account_deleted.jinja2 +++ /dev/null @@ -1,5 +0,0 @@ -{% extends 'base.jinja2' %} -{% block content %} -

Ihr Account im Bereich {{ realm.name }} und Ihre Gruppenzugehörigkeiten wurden erfolgreich gelöscht.

- Zurück zur Realm Übersicht -{% endblock %} \ No newline at end of file diff --git a/templates/registration/login.html b/templates/registration/login.html index eb4b6d6..4651248 100644 --- a/templates/registration/login.html +++ b/templates/registration/login.html @@ -1,19 +1,19 @@ {% extends 'base.jinja2' %} - -{% block title %}Login{% endblock %} +{% import 'macros/form_macros.jinja2' as mform %} {% block content %}
-

Login

-
+

Login

+ - {{ form.as_p()|safe }} - + {{ mform.text_input(form.username) }} + {{ mform.password_input(form.password) }} +
+ Passwort vergessen?
- Passwort vergessen?
{% endblock %} \ No newline at end of file diff --git a/templates/user/account_deleted.jinja2 b/templates/user/account_deleted.jinja2 new file mode 100644 index 0000000..7024eef --- /dev/null +++ b/templates/user/account_deleted.jinja2 @@ -0,0 +1,15 @@ +{% extends 'base.jinja2' %} +{% block content %} +
+
+
+ +
+
+
+{% endblock %} \ No newline at end of file diff --git a/templates/user/user_confirm_delete.jinja2 b/templates/user/user_confirm_delete.jinja2 new file mode 100644 index 0000000..8e1c873 --- /dev/null +++ b/templates/user/user_confirm_delete.jinja2 @@ -0,0 +1,24 @@ +{% extends 'base.jinja2' %} +{% block content %} +
+
+
+ + +
+
+
+{% endblock %} \ No newline at end of file