Add modular realm views
This commit is contained in:
parent
dd4554b95e
commit
f74ff77ac7
@ -4,6 +4,10 @@ from . import views
|
||||
urlpatterns = [
|
||||
path('realm/', views.realm, name='realm-home'),
|
||||
path('realm/<int:id>/', views.realm_detail, name='realm-detail'),
|
||||
path('realm/<int:id>/user/', views.realm_user, name='realm-user-list'),
|
||||
path('realm/<int:id>/groups/', views.realm_groups, name='realm-group-list'),
|
||||
path('realm/<int:id>/update/', views.realm_update, name='realm-update'),
|
||||
|
||||
path('user/list/', views.userlist, name='user-list'),
|
||||
path('user/get/<str:dn>/', views.user_detail, name='user'),
|
||||
|
||||
|
||||
@ -26,10 +26,15 @@ def realm(request):
|
||||
return redirect('realm-detail', realm_obj.id)
|
||||
else:
|
||||
form = RealmAddForm()
|
||||
return render(request, 'realm/realm_home.jinja', {'realms': realms, 'form': form})
|
||||
return render(request, 'realm/realm_home.jinja2', {'realms': realms, 'form': form})
|
||||
|
||||
|
||||
def realm_detail(request, id):
|
||||
realm_obj = Realm.objects.get(id=id)
|
||||
return render(request, 'realm/realm_detailed.jinja2', {'realm': realm_obj})
|
||||
|
||||
|
||||
def realm_update(request, id):
|
||||
if request.user.is_superuser:
|
||||
realm_obj = Realm.objects.get(id=id)
|
||||
data = {'id': realm_obj.id, 'ldap_rdn_org': realm_obj.ldap_rdn_org, 'name': realm_obj.name,
|
||||
@ -48,10 +53,25 @@ def realm_detail(request, id):
|
||||
return redirect('realm-detail', realm_obj.id)
|
||||
else:
|
||||
form = RealmUpdateForm(initial=data)
|
||||
return render(request, 'realm/realm_detailed.jinja', {'realm': realm_obj, 'form': form})
|
||||
return render(request, 'realm/realm_update.jinja2', {'realm': realm_obj, 'form': form})
|
||||
else:
|
||||
realm_obj = Realm.objects.get(id=id)
|
||||
return render(request, 'realm/realm_detailed.jinja', {'realm': realm_obj})
|
||||
return render(request, 'realm/realm_update.jinja2', {'realm': realm_obj})
|
||||
|
||||
|
||||
def realm_user(request, id):
|
||||
realm_obj = Realm.objects.get(id=id)
|
||||
dn = f'uid=*,ou=people,{realm_obj.ldap_rdn_org},{LdapUser.base_dn}'
|
||||
realm_users = LdapUser.objects.filter(dn=dn)
|
||||
return render(request, 'realm/realm_user.jinja2', {'realm': realm_obj, 'realm_user': realm_users})
|
||||
|
||||
|
||||
def realm_groups(request, id):
|
||||
realm_obj = Realm.objects.get(id=id)
|
||||
dn = f'ou=groups,{realm_obj.ldap_rdn_org},{LdapUser.base_dn}'
|
||||
LdapGroup.base_dn = dn
|
||||
realm_groups_obj = LdapGroup.objects.all()
|
||||
return render(request, 'realm/realm_groups.jinja2', {'realm': realm_obj, 'realm_groups': realm_groups_obj})
|
||||
|
||||
|
||||
def userlist(request):
|
||||
@ -59,13 +79,13 @@ def userlist(request):
|
||||
groups = LdapGroup.objects.all()
|
||||
context = {'users': user, 'groups': groups}
|
||||
|
||||
return render(request, 'user/user_list.jinja', context)
|
||||
return render(request, 'user/user_list.jinja2', context)
|
||||
|
||||
|
||||
def user_detail(request, dn):
|
||||
user = LdapUser.objects.get(dn=dn)
|
||||
context = {'user': user, }
|
||||
return render(request, 'user/user_detail.jinja', context)
|
||||
return render(request, 'user/user_detail.jinja2', context)
|
||||
|
||||
|
||||
def user_add(request):
|
||||
@ -89,13 +109,13 @@ def user_add(request):
|
||||
else:
|
||||
form = AddLDAPUserForm()
|
||||
|
||||
return render(request, 'user/user_add.jinja', {'form': form})
|
||||
return render(request, 'user/user_add.jinja2', {'form': form})
|
||||
|
||||
|
||||
def group_detail(request, dn):
|
||||
group = LdapGroup.objects.get(dn=dn)
|
||||
context = {'group': group, }
|
||||
return render(request, 'user/group_detail.jinja', context)
|
||||
return render(request, 'user/group_detail.jinja2', context)
|
||||
|
||||
|
||||
def group_add(request):
|
||||
@ -116,4 +136,4 @@ def group_add(request):
|
||||
else:
|
||||
form = AddLDAPGroupForm()
|
||||
|
||||
return render(request, 'group/group_add.jinja', {'form': form})
|
||||
return render(request, 'group/group_add.jinja2', {'form': form})
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{% extends 'base.jinja' %}
|
||||
{% extends 'base.jinja2' %}
|
||||
{% block content %}
|
||||
<a href="{{ url('user-add') }}">Nutzer anlegen</a> | <a href="{{ url('group-add') }}">Gruppe anlegen</a>
|
||||
<h1>Bereich {{ realm.name }}</h1>
|
||||
@ -7,17 +7,16 @@
|
||||
<p>Email: {{ realm.email }}</p>
|
||||
<p>Admin Gruppe: {{ realm.admin_group }}</p>
|
||||
|
||||
<h2>Bereichsinformationen anpassen</h2>
|
||||
<form method="post">
|
||||
<input type="hidden" name="csrfmiddlewaretoken" value="{{ csrf_token }}">
|
||||
{{ form.as_p()|safe }}
|
||||
<button type="submit">Speichern</button>
|
||||
</form>
|
||||
|
||||
<h2>Nutzer</h2>
|
||||
{% block user_content %}
|
||||
{% block realm_form %}
|
||||
<h2><a href="{{ url('realm-update', args=[realm.id]) }}">Bereichsinformationen anpassen</a></h2>
|
||||
{% endblock %}
|
||||
<h2>Gruppen</h2>
|
||||
{% block gruppen_content %}
|
||||
|
||||
|
||||
{% block user_content %}
|
||||
<h2><a href="{{ url('realm-user-list', args=[realm.id]) }}">Nutzer</a></h2>
|
||||
{% endblock %}
|
||||
|
||||
{% block groups_content %}
|
||||
<h2><a href="{{ url('realm-group-list', args=[realm.id]) }}">Gruppen</a></h2>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
15
templates/realm/realm_groups.jinja2
Normal file
15
templates/realm/realm_groups.jinja2
Normal file
@ -0,0 +1,15 @@
|
||||
{% extends 'realm/realm_detailed.jinja2' %}
|
||||
|
||||
{% block groups_content %}
|
||||
<h2>Gruppen</h2>
|
||||
{% for group in realm_groups %}
|
||||
<h3>{{ group.name }}</h3>
|
||||
<p>DN: {{ group.dn }}</p>
|
||||
<p>Nutzername: {{ group.name }}</p>
|
||||
<h2>Mitglieder</h2>
|
||||
{% for user in group.members %}
|
||||
<p>{{ user }}</p>
|
||||
{% endfor %}
|
||||
<hr>
|
||||
{% endfor %}
|
||||
{% endblock %}
|
||||
@ -1,4 +1,4 @@
|
||||
{% extends 'base.jinja' %}
|
||||
{% extends 'base.jinja2' %}
|
||||
{% block content %}
|
||||
<a href="{{ url('user-add') }}">Nutzer anlegen</a> | <a href="{{ url('group-add') }}">Gruppe anlegen</a>
|
||||
|
||||
8
templates/realm/realm_update.jinja2
Normal file
8
templates/realm/realm_update.jinja2
Normal file
@ -0,0 +1,8 @@
|
||||
{% extends 'realm/realm_detailed.jinja2' %}
|
||||
{% block realm_form %}
|
||||
<form method="post">
|
||||
<input type="hidden" name="csrfmiddlewaretoken" value="{{ csrf_token }}">
|
||||
{{ form.as_p()|safe }}
|
||||
<button type="submit">Speichern</button>
|
||||
</form>
|
||||
{% endblock %}
|
||||
7
templates/realm/realm_user.jinja2
Normal file
7
templates/realm/realm_user.jinja2
Normal file
@ -0,0 +1,7 @@
|
||||
{% extends 'realm/realm_detailed.jinja2' %}
|
||||
{% block user_content %}
|
||||
<h2>Nutzer</h2>
|
||||
{% for user in realm_user %}
|
||||
<p>{{ user.username }} - <a href="{{ url('user', args=[user.dn]) }}">{{ user.dn }}</a></p>
|
||||
{% endfor %}
|
||||
{% endblock %}
|
||||
@ -1,4 +1,4 @@
|
||||
{% extends 'base.jinja' %}
|
||||
{% extends 'base.jinja2' %}
|
||||
|
||||
{% block title %}Login{% endblock %}
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{% extends 'base.jinja' %}
|
||||
{% extends 'base.jinja2' %}
|
||||
{% block content %}
|
||||
<a href="{{ url('user-list') }}">Nutzerübersicht</a>
|
||||
<p>DN: {{ user.dn }}</p>
|
||||
@ -1,4 +1,4 @@
|
||||
{% extends 'base.jinja' %}
|
||||
{% extends 'base.jinja2' %}
|
||||
{% block content %}
|
||||
<a href="{{ url('user-add') }}">Nutzer anlegen</a> | <a href="{{ url('group-add') }}">Gruppe anlegen</a>
|
||||
<h2>Nutzer</h2>
|
||||
Reference in New Issue
Block a user