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) realm = Realm.objects.get(id=realm_id)
LdapUser.base_dn = realm.ldap_base_dn LdapUser.base_dn = realm.ldap_base_dn
user = LdapUser.objects.get(dn=user_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( if realm_id and (request.user.is_superuser or len(
Realm.objects.filter(id=realm_id).filter( Realm.objects.filter(id=realm_id).filter(
admin_group__user__username__contains=request.user.username)) > 0): admin_group__user__username__contains=request.user.username)) > 0):
return render(request, 'user/realm_user_detail.jinja2', {'user': user, 'realm': realm}) return render(request, 'user/realm_user_detail.jinja2', {'user': user, 'realm': realm})
else: 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 @login_required

View File

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

View File

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

View File

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