New user deletion sequence, Finish user view update

This commit is contained in:
Götz 2019-04-09 21:52:49 +02:00
parent 10fa5a6362
commit d1f7c97455
6 changed files with 62 additions and 13 deletions

View File

@ -38,6 +38,9 @@ urlpatterns = [
# User
path('user/<str:user_dn>/update/realm/<int:realm_id>/', account_manager.views.user_views.user_update,
name='user-update'),
path('user/<str:user_dn>/delete/realm/<int:realm_id>/confirm/',
account_manager.views.user_views.user_delete_confirm,
name='user-delete-confirm'),
path('user/<str:user_dn>/delete/realm/<int:realm_id>/', account_manager.views.user_views.user_delete,
name='user-delete'),
path('reset/<uidb64>/<token>/', account_manager.views.user_views.LdapPasswordResetConfirmView.as_view(),

View File

@ -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):

View File

@ -1,5 +0,0 @@
{% extends 'base.jinja2' %}
{% block content %}
<p>Ihr Account im Bereich {{ realm.name }} und Ihre Gruppenzugehörigkeiten wurden erfolgreich gelöscht.</p>
<a href="{{ url('realm-home') }}">Zurück zur Realm Übersicht</a>
{% endblock %}

View File

@ -1,19 +1,19 @@
{% extends 'base.jinja2' %}
{% block title %}Login{% endblock %}
{% import 'macros/form_macros.jinja2' as mform %}
{% block content %}
<div class="col-12 ">
<div class="row justify-content-center justify-content-sm-center">
<div class="col-12 col-sm-6 col-md-5 col-lg-4 col-xl-3 bg-white text-dark text-center p-3 mt-5">
<h2>Login</h2>
<form method="post">
<h1>Login</h1>
<form method="post" class="mb-3">
<input type="hidden" name="csrfmiddlewaretoken" value="{{ csrf_token }}">
{{ form.as_p()|safe }}
<button type="submit">Login</button>
{{ mform.text_input(form.username) }}
{{ mform.password_input(form.password) }}
<button type="submit" class="btn btn-primary btn-block mr-auto p-2">Login</button>
</form>
<a href="{{ url('password_reset') }}">Passwort vergessen?</a>
</div>
<a href="{{ url('password_reset') }}">Passwort vergessen?</a>
</div>
</div>
{% endblock %}

View File

@ -0,0 +1,15 @@
{% 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-info" role="alert">
<p>
Ihr Account im Bereich {{ realm.name }} und Ihre Gruppenzugehörigkeiten wurden erfolgreich
gelöscht.
</p>
</div>
</div>
</div>
</div>
{% endblock %}

View File

@ -0,0 +1,24 @@
{% 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 den Account von {{ user.username }} zu schließen.</p>
<p>Falls Sie sich sicher sind, dass Sie diesen Nutzer löschen wollen, klicken Sie bitte auf "Nutzer
löschen".
<p>Hierdurch werden Ihre Zugangsdaten gelöscht. Bitte beachten Sie, dass Ihre Daten, die Sie in den
Diensten hochgeladen haben, weiterhin bestehen bleiben.</p>
<p>Um auch diese zu löschen müssen Sie zuvor Ihre Daten entsprechend löschen. </p>
<p>Möchten Sie das Löschen der Accountdaten verhindern, klicken Sie auf "Abbrechen"</p>
</div>
<div class="d-flex">
<a href="{{ url('realm-user-detail', args = [realm.id, user.dn]) }}"
class="btn btn-secondary mr-auto p-2">Abbrechen</a>
<a href="{{ url('user-delete', args = [user.dn, realm.id]) }}"
class="btn btn-danger p-2">Nutzer löschen</a>
</div>
</div>
</div>
</div>
{% endblock %}