Fix groups not shown

This commit is contained in:
Götz 2019-04-10 21:16:59 +02:00
parent aeb3d40965
commit 9a5b6cf4b0
4 changed files with 36 additions and 3 deletions

View File

@ -20,6 +20,8 @@ urlpatterns = [
name='realm-user-detail'),
path('realm/<int:realm_id>/user/<str:user_dn>/update/', account_manager.views.user_views.realm_user_update,
name='realm-user-update'),
path('realm/<int:realm_id>/user/<str:user_dn>/group/update/', account_manager.views.user_views.realm_user_group_update,
name='realm-user-group-update'),
path('realm/<int:realm_id>/user/delete/s/<str:user_dn>/', account_manager.views.user_views.realm_user_delete,
name='realm-user-delete'),
path('realm/<int:realm_id>/user/delete/multiple', account_manager.views.user_views.realm_multiple_user_delete,

View File

@ -26,10 +26,11 @@ def realm_user_detail(request, realm_id, user_dn):
LdapUser.base_dn = realm.ldap_base_dn
user = LdapUser.objects.get(dn=user_dn)
groups = LdapGroup.objects.filter(members=user.dn)
print("GROUPS", groups)
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})
return render(request, 'user/realm_user_detail.jinja2', {'user': user, 'groups': groups, 'realm': realm})
else:
return render(request, 'user/user_detail.jinja2', {'user': user, 'groups': groups, 'realm': realm})
@ -160,6 +161,15 @@ def user_delete(request, realm_id, user_dn):
return redirect('permission-denied')
@login_required
@is_realm_admin
def realm_user_group_update(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)
return render(request, 'user/realm_user_update_groups.jinja2', {'realm': realm, 'user': ldap_user})
def user_deleted(request, realm_id):
return render(request, 'user/account_deleted.jinja2', {'realm': Realm.objects.get(id=realm_id)})

View File

@ -16,12 +16,14 @@
<li class="list-group-item">Gruppen:
{% if groups %}
{% for group in groups %}
{{ group.name }}
<a href="{{ url('realm-group-detail', args=[realm.id, group.dn]) }}"
class="badge badge-secondary p-1">{{ group.name }}</a>
{% endfor %}
{% else %}
<span class="text-warning">Keine zugewiesen</span>
{% endif %}
<a href="#" class="float-right">Gruppen zuweisen</a>
<a href="{{ url('realm-user-group-update', args=[realm.id, user.dn]) }}" class="float-right">
Gruppen zuweisen</a>
</li>
</ul>
<div class="d-flex mt-3">

View File

@ -0,0 +1,19 @@
{% extends 'realm/realm_detailed.jinja2' %}
{% import 'macros/form_macros.jinja2' as mform %}
{% block detail_content %}
<h3><span class="text-uppercase">{{ user.username }}</span> - Gruppen Zuweisung ändern</h3>
<form method="post">
<input type="hidden" name="csrfmiddlewaretoken" value="{{ csrf_token }}">
{# {{ mform.text_input(form.username) }}#}
{# {{ mform.email_input(form.email) }}#}
{# {{ mform.password_input(form.password) }}#}
{# {{ mform.text_input(form.first_name) }}#}
{# {{ mform.text_input(form.last_name) }}#}
<div class="d-flex mt-4">
<button type="submit" class="btn btn-primary mr-auto p-2">Speichern</button>
<a href="{{ url('realm-user-detail', args = [realm.id, user.dn]) }}"
class="btn btn-secondary p-2">Abbrechen</a>
</div>
</form>
{% endblock %}