Implment user view for admins, Close #48

This commit is contained in:
Götz 2019-04-15 17:40:01 +02:00
parent f0b819a5f8
commit d4aeaf437f
3 changed files with 7 additions and 4 deletions

View File

@ -39,15 +39,15 @@ def realm_list(request):
else:
realms = Realm.objects.filter(admin_group__user__username__contains=user.username).order_by('name').order_by(
'name')
if len(realms) == 0 and not user.is_superuser:
show_user = request.GET.get('show_user', False)
if show_user or (len(realms) == 0 and not user.is_superuser):
try:
LdapUser.base_dn = LdapUser.ROOT_DN
user = LdapUser.objects.get(username=user.username)
realm_base_dn = re.compile('(uid=[a-zA-Z0-9_]*),(ou=[a-zA-Z_]*),(.*)').match(user.dn).group(3)
realm = Realm.objects.get(ldap_base_dn=realm_base_dn)
return redirect('user-detail', user.dn, realm.id )
return redirect('user-detail', user.dn, realm.id)
except ObjectDoesNotExist as err:
logger.info('Anmeldung fehlgeschlagen', err)
return HttpResponse("Invalid login. Please try again.")

View File

@ -276,6 +276,7 @@ def user_delete(request, realm_id, user_dn):
@login_required
@is_realm_admin
@protect_cross_realm_user_access
def realm_user_group_update(request, realm_id, user_dn, error=None):
realm = Realm.objects.get(id=realm_id)
ldap_user, realm_groups_available, user_groups = get_available_given_groups(realm, user_dn)
@ -300,6 +301,7 @@ def get_available_given_groups(realm, user_dn):
@login_required
@is_realm_admin
@protect_cross_realm_user_access
def realm_user_group_update_add(request, realm_id, user_dn):
realm = Realm.objects.get(id=realm_id)
LdapUser.base_dn = f'ou=people,{realm.ldap_base_dn}'
@ -318,6 +320,7 @@ def realm_user_group_update_add(request, realm_id, user_dn):
@login_required
@is_realm_admin
@protect_cross_realm_user_access
def realm_user_group_update_delete(request, realm_id, user_dn):
realm = Realm.objects.get(id=realm_id)
LdapUser.base_dn = f'ou=people,{realm.ldap_base_dn}'

View File

@ -38,7 +38,7 @@
{% if request.user.is_authenticated %}
<span class="navbar-text">
Hi {{ request.user.username }}!
Hi <a href="{{ url('realm-home') }}?show_user=True">{{ request.user.username }}</a>!
<a href="{{ url('logout') }}?next=/">Logout <i class="fas fa-sign-out-alt"></i></a>
{% else %}
<a href="{{ url('login') }}"><i class="fas fa-sign-in-alt"></i> Login</a>