Add deletion information on user view, Implement deltion cancel operation
This commit is contained in:
parent
95a18884bb
commit
0dc9ee0991
@ -53,6 +53,8 @@ urlpatterns = [
|
||||
name='realm-multiple-user-delete'),
|
||||
path('realm/<int:realm_id>/user/delete/multiple/inactive/', user_views.realm_multiple_user_delete_inactive,
|
||||
name='realm-multiple-user-delete-inactive'),
|
||||
path('realm/<int:realm_id>/user/delete/<str:user_dn>/cancel/', user_views.realm_user_delete_cancel,
|
||||
name='realm-user-delete-cancel'),
|
||||
|
||||
# Realm Group
|
||||
path('realm/<int:realm_id>/groups/', group_views.realm_groups, name='realm-group-list'),
|
||||
|
||||
@ -60,8 +60,9 @@ def realm_user_detail(request, realm_id, user_dn):
|
||||
LdapGroup.base_dn = LdapGroup.ROOT_DN
|
||||
|
||||
user = LdapUser.objects.get(dn=user_dn)
|
||||
user_wrapper = LdapUser.get_extended_user(user)
|
||||
groups = LdapGroup.objects.filter(members=user.dn)
|
||||
return render(request, 'user/realm_user_detail.jinja2', {'user': user, 'groups': groups, 'realm': realm})
|
||||
return render(request, 'user/realm_user_detail.jinja2', {'user': user_wrapper, 'groups': groups, 'realm': realm})
|
||||
|
||||
|
||||
@login_required
|
||||
@ -217,6 +218,22 @@ def realm_user_delete_confirm(request, realm_id, user_dn):
|
||||
{'realm': realm, 'user': ldap_user, 'deletion_link': deletion_link, 'cancel_link': cancel_link})
|
||||
|
||||
|
||||
@login_required
|
||||
@is_realm_admin
|
||||
@protect_cross_realm_user_access
|
||||
def realm_user_delete_cancel(request, realm_id, user_dn):
|
||||
realm = Realm.objects.get(id=realm_id)
|
||||
LdapUser.base_dn = f'ou=people,{realm.ldap_base_dn}'
|
||||
ldap_user = LdapUser.objects.get(dn=user_dn)
|
||||
try:
|
||||
deleted_user = DeletedUser.objects.get(ldap_dn=ldap_user.dn)
|
||||
deleted_user.delete()
|
||||
except ObjectDoesNotExist as err:
|
||||
pass
|
||||
|
||||
return redirect('realm-user-detail', realm_id, user_dn)
|
||||
|
||||
|
||||
@login_required
|
||||
@is_realm_admin
|
||||
def realm_multiple_user_delete(request, realm_id):
|
||||
|
||||
@ -2,25 +2,38 @@
|
||||
{% import 'macros/form_macros.jinja2' as mform %}
|
||||
|
||||
{% block detail_content %}
|
||||
{% if user.user %}
|
||||
{% if user.deleted_user.deletion_date %}
|
||||
<h3 class="text-danger">{{ user.user.username }}
|
||||
<small>Nutzer wird vorraussichtlich am {{ user.deleted_user.deletion_date.strftime('%d.%m.%Y') }}
|
||||
gelöscht
|
||||
</small>
|
||||
</h3>
|
||||
{% else %}
|
||||
<h3>{{ user.user.username }}</h3>
|
||||
{% endif %}
|
||||
|
||||
{% else %}
|
||||
<h3>{{ user.username }}</h3>
|
||||
{% endif %}
|
||||
{% if not form %}
|
||||
<ul class="list-group list-group-flush w-100">
|
||||
<li class="list-group-item">Ldap Domain: {{ user.dn }}</li>
|
||||
<li class="list-group-item">Ldap Domain: {{ user.user.dn }}</li>
|
||||
<li class="list-group-item"> Anzeigename:
|
||||
{% if user.display_name %}
|
||||
{{ user.display_name }}
|
||||
{% if user.user.display_name %}
|
||||
{{ user.user.display_name }}
|
||||
{% else %}
|
||||
<span class="text-warning"> Noch nicht generiert </span>
|
||||
{% endif %}
|
||||
</li>
|
||||
<li class="list-group-item">Vorname: {{ user.first_name }}</li>
|
||||
<li class="list-group-item">Nachname: {{ user.last_name }}</li>
|
||||
<li class="list-group-item">Email: {{ user.email }}</li>
|
||||
<li class="list-group-item">Vorname: {{ user.user.first_name }}</li>
|
||||
<li class="list-group-item">Nachname: {{ user.user.last_name }}</li>
|
||||
<li class="list-group-item">Email: {{ user.user.email }}</li>
|
||||
<li class="list-group-item">Passwort: <a
|
||||
href="{{ url('realm-user-password-reset', args = [realm.id, user.dn]) }}" class="float-right">Nutzerpasswort
|
||||
href="{{ url('realm-user-password-reset', args = [realm.id, user.user.dn]) }}" class="float-right">Nutzerpasswort
|
||||
zurücksetzen</a></li>
|
||||
<li class="list-group-item">Telefon: {{ user.phone }}</li>
|
||||
<li class="list-group-item">Mobiltelefon: {{ user.mobile_phone }}</li>
|
||||
<li class="list-group-item">Telefon: {{ user.user.phone }}</li>
|
||||
<li class="list-group-item">Mobiltelefon: {{ user.user.mobile_phone }}</li>
|
||||
<li class="list-group-item">Gruppen:
|
||||
{% if groups %}
|
||||
{% for group in groups %}
|
||||
@ -33,27 +46,36 @@
|
||||
{% else %}
|
||||
<span class="text-warning">Keine zugewiesen</span>
|
||||
{% endif %}
|
||||
<a href="{{ url('realm-user-group-update', args=[realm.id, user.dn]) }}" class="float-right">
|
||||
<a href="{{ url('realm-user-group-update', args=[realm.id, user.user.dn]) }}" class="float-right">
|
||||
Gruppen zuweisen</a>
|
||||
</li>
|
||||
<li class="list-group-item">Zuletzt eingeloggt:
|
||||
{% if user.last_login %}
|
||||
{{ user.last_login.strftime('%d.%m.%Y') }}
|
||||
{% if user.user.last_login %}
|
||||
{{ user.user.last_login.strftime('%d.%m.%Y') }}
|
||||
{% else %}
|
||||
<i class="far fa-times-circle text-danger"></i><span class="d-none">+</span>
|
||||
{% endif %}</li>
|
||||
{% if user.deleted_user.deletion_date %}
|
||||
<li class="list-group-item text-danger">Löschvorgang: {{ user.deleted_user.deletion_date.strftime('%d.%m.%Y') }}
|
||||
<a href="{{ url('realm-user-delete-cancel', args=[realm.id, user.user.dn]) }}"
|
||||
class="float-right">
|
||||
Löschvorgang abbrechen</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
<div class="d-flex mt-3">
|
||||
<a href="{{ url('realm-user-update', args = [realm.id, user.dn]) }}" class="btn btn-primary mr-auto p-2">
|
||||
<a href="{{ url('realm-user-update', args = [realm.id, user.user.dn]) }}"
|
||||
class="btn btn-primary mr-auto p-2">
|
||||
<i class="fas fa-user-cog"></i> Nutzer bearbeiten
|
||||
</a>
|
||||
{% if not user.last_login %}
|
||||
<a href="{{ url('realm-user-resend-welcome-mail', args = [realm.id, user.dn]) }}"
|
||||
<a href="{{ url('realm-user-resend-welcome-mail', args = [realm.id, user.user.dn]) }}"
|
||||
class="btn btn-secondary p-2 mr-2">
|
||||
<i class="fas fa-paper-plane"></i> Wilkommensmail erneut senden
|
||||
</a>
|
||||
{% endif %}
|
||||
<a href="{{ url('realm-user-delete-confirm', args = [realm.id, user.dn]) }}" class="btn btn-danger p-2">
|
||||
<a href="{{ url('realm-user-delete-confirm', args = [realm.id, user.user.dn]) }}"
|
||||
class="btn btn-danger p-2">
|
||||
<i class="fas fa-trash"></i> Nutzer löschen
|
||||
</a>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user