Update user detail view

This commit is contained in:
Götz 2019-04-09 18:08:43 +02:00
parent 6174c5dec5
commit aeafadbc94
4 changed files with 92 additions and 46 deletions

View File

@ -25,12 +25,13 @@ def realm_user_detail(request, realm_id, user_dn):
realm = Realm.objects.get(id=realm_id)
LdapUser.base_dn = realm.ldap_base_dn
user = LdapUser.objects.get(dn=user_dn)
groups = LdapGroup.objects.filter(members=user.dn)
if realm_id and (request.user.is_superuser or len(
Realm.objects.filter(id=realm_id).filter(
admin_group__user__username__contains=request.user.username)) > 0):
return render(request, 'user/realm_user_detail.jinja2', {'user': user, 'realm': realm})
else:
return render(request, 'user/user_detail.jinja2', {'user': user, 'realm': realm})
return render(request, 'user/user_detail.jinja2', {'user': user, 'groups': groups, 'realm': realm})
@login_required

View File

@ -30,15 +30,24 @@
</head>
{# ===== Body ===== #}
<body class="bg-light">
{% if request.user.is_authenticated %}
Hi {{ request.user.username }}!
<p><a href="{{ url('logout') }}">Logout</a></p>
<p><a href="{{ url('password_reset') }}">Passwort zurücksetzen</a></p>
{% else %}
<p>Du bist nicht eingelogt</p>
<a href="{{ url('login') }}">Login</a>
{% endif %}
<body>
<nav class="navbar navbar-light bg-light">
<a class="navbar-brand" href="{{ url('realm-home') }}">
{# TODO: Icon#}
<img src="/docs/4.0/assets/brand/bootstrap-solid.svg" width="30" height="30" class="d-inline-block align-top"
alt="">
LAMa
</a>
{% if request.user.is_authenticated %}
<span class="navbar-text">
Hi {{ request.user.username }}!
<a href="{{ url('logout') }}">Logout</a>
{% else %}
<a href="{{ url('login') }}">Login</a>
{% endif %}
</span>
</nav>
{% block body %}
<div class="container-fluid">
<div class="row">{% block bottom_nav %}{% endblock %}</div>

View File

@ -1,21 +1,23 @@
{% extends 'realm/realm_detailed.jinja2' %}
{% block extra_content %}
{% if not form %}
<p>DN: {{ user.dn }}</p>
<p>Nutzername: {{ user.username }}</p>
<p>Vorname: {{ user.first_name }}</p>
<p>Nachname: {{ user.last_name }}</p>
<p>Email: {{ user.email }}</p>
<p>Passwort: {{ user.password }}</p>
<p>Telefon: {{ user.phone }}</p>
<p>Mobiltelefon: {{ user.mobile_phone }}</p>
<a href="{{ url('realm-user-update', args = [realm.id, user.dn]) }}">Update User</a>
<a href="{{ url('realm-user-delete', args = [realm.id, user.dn]) }}">Delete User</a>
{% else %}
<form method="post">
<input type="hidden" name="csrfmiddlewaretoken" value="{{ csrf_token }}">
{{ form.as_p()|safe }}
<button type="submit">Speichern</button>
</form>
{% endif %}
<div class="col-6">
{% if not form %}
<p>DN: {{ user.dn }}</p>
<p>Nutzername: {{ user.username }}</p>
<p>Vorname: {{ user.first_name }}</p>
<p>Nachname: {{ user.last_name }}</p>
<p>Email: {{ user.email }}</p>
<p>Passwort: {{ user.password }}</p>
<p>Telefon: {{ user.phone }}</p>
<p>Mobiltelefon: {{ user.mobile_phone }}</p>
<a href="{{ url('realm-user-update', args = [realm.id, user.dn]) }}">Update User</a>
<a href="{{ url('realm-user-delete', args = [realm.id, user.dn]) }}">Delete User</a>
{% else %}
<form method="post">
<input type="hidden" name="csrfmiddlewaretoken" value="{{ csrf_token }}">
{{ form.as_p()|safe }}
<button type="submit">Speichern</button>
</form>
{% endif %}
</div>
{% endblock %}

View File

@ -1,21 +1,55 @@
{% extends 'base.jinja2' %}
{% block content %}
{% if not form %}
<p>DN: {{ user.dn }}</p>
<p>Nutzername: {{ user.username }}</p>
<p>Vorname: {{ user.first_name }}</p>
<p>Nachname: {{ user.last_name }}</p>
<p>Email: {{ user.email }}</p>
<p>Passwort: {{ user.password }}</p>
<p>Telefon: {{ user.phone }}</p>
<p>Mobiltelefon: {{ user.mobile_phone }}</p>
<a href="{{ url('user-update', args = [user.dn, realm.id]) }}">Update User</a>
<a href="{{ url('user-delete', args = [user.dn, realm.id]) }}">Delete User</a>
{% else %}
<form method="post">
<input type="hidden" name="csrfmiddlewaretoken" value="{{ csrf_token }}">
{{ form.as_p()|safe }}
<button type="submit">Speichern</button>
</form>
{% endif %}
<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 p-3 mt-5">
{% if not form %}
<div class="card">
<div class="card-body">
<h5 class="card-title">{{ user.username }}</h5>
<h6 class="card-subtitle mb-2 text-muted">{{ user.first_name }}, {{ user.last_name }}</h6>
<ul class="list-group list-group-flush">
{% if groups %}
<li class="list-group-item">
<span class="font-weight-bold">Gruppen:</span>
{% for group in groups %}
{{ group.name }}
{% endfor %}
</li>
{% endif %}
<li class="list-group-item"><span
class="font-weight-bold">Email:</span> {{ user.email }}</li>
<li class="list-group-item"><span
class="font-weight-bold">Passwort:</span> {{ user.password }}
</li>
<li class="list-group-item"><span
class="font-weight-bold">Telefon:</span> {{ user.phone }}</li>
<li class="list-group-item"><span
class="font-weight-bold">Mobiltelefon:</span> {{ user.mobile_phone }}</li>
</ul>
<div class="card-footer row">
<div class="col-6 text-left">
<a href="{{ url('user-update', args = [user.dn, realm.id]) }}"
class="btn btn-primary">Update
User</a>
</div>
<div class="col-6 text-right">
<a href="{{ url('user-delete', args = [user.dn, realm.id]) }}"
class="btn btn-danger">Delete
User</a>
</div>
</div>
</div>
</div>
{# <p>DN: {{ user.dn }}</p>#}
{% else %}
<form method="post">
<input type="hidden" name="csrfmiddlewaretoken" value="{{ csrf_token }}">
{{ form.as_p()|safe }}
<button type="submit">Speichern</button>
</form>
{% endif %}
</div>
</div>
</div>
{% endblock %}