diff --git a/account_manager/urls.py b/account_manager/urls.py index 293509a..e1921db 100644 --- a/account_manager/urls.py +++ b/account_manager/urls.py @@ -4,6 +4,10 @@ from . import views urlpatterns = [ path('realm/', views.realm, name='realm-home'), path('realm//', views.realm_detail, name='realm-detail'), + path('realm//user/', views.realm_user, name='realm-user-list'), + path('realm//groups/', views.realm_groups, name='realm-group-list'), + path('realm//update/', views.realm_update, name='realm-update'), + path('user/list/', views.userlist, name='user-list'), path('user/get//', views.user_detail, name='user'), diff --git a/account_manager/views.py b/account_manager/views.py index 3855e28..079aa00 100644 --- a/account_manager/views.py +++ b/account_manager/views.py @@ -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}) diff --git a/templates/base.jinja b/templates/base.jinja2 similarity index 100% rename from templates/base.jinja rename to templates/base.jinja2 diff --git a/templates/group/group_add.jinja b/templates/group/group_add.jinja2 similarity index 100% rename from templates/group/group_add.jinja rename to templates/group/group_add.jinja2 diff --git a/templates/group/group_detail.jinja b/templates/group/group_detail.jinja2 similarity index 100% rename from templates/group/group_detail.jinja rename to templates/group/group_detail.jinja2 diff --git a/templates/realm/realm_detailed.jinja b/templates/realm/realm_detailed.jinja2 similarity index 51% rename from templates/realm/realm_detailed.jinja rename to templates/realm/realm_detailed.jinja2 index 654419e..06e8668 100644 --- a/templates/realm/realm_detailed.jinja +++ b/templates/realm/realm_detailed.jinja2 @@ -1,4 +1,4 @@ -{% extends 'base.jinja' %} +{% extends 'base.jinja2' %} {% block content %} Nutzer anlegen | Gruppe anlegen

Bereich {{ realm.name }}

@@ -7,17 +7,16 @@

Email: {{ realm.email }}

Admin Gruppe: {{ realm.admin_group }}

-

Bereichsinformationen anpassen

-
- - {{ form.as_p()|safe }} - -
- -

Nutzer

- {% block user_content %} + {% block realm_form %} +

Bereichsinformationen anpassen

{% endblock %} -

Gruppen

- {% block gruppen_content %} + + + {% block user_content %} +

Nutzer

+ {% endblock %} + + {% block groups_content %} +

Gruppen

{% endblock %} {% endblock %} diff --git a/templates/realm/realm_groups.jinja2 b/templates/realm/realm_groups.jinja2 new file mode 100644 index 0000000..d8c736c --- /dev/null +++ b/templates/realm/realm_groups.jinja2 @@ -0,0 +1,15 @@ +{% extends 'realm/realm_detailed.jinja2' %} + +{% block groups_content %} +

Gruppen

+ {% for group in realm_groups %} +

{{ group.name }}

+

DN: {{ group.dn }}

+

Nutzername: {{ group.name }}

+

Mitglieder

+ {% for user in group.members %} +

{{ user }}

+ {% endfor %} +
+ {% endfor %} +{% endblock %} diff --git a/templates/realm/realm_home.jinja b/templates/realm/realm_home.jinja2 similarity index 95% rename from templates/realm/realm_home.jinja rename to templates/realm/realm_home.jinja2 index 3f84564..db1b8bd 100644 --- a/templates/realm/realm_home.jinja +++ b/templates/realm/realm_home.jinja2 @@ -1,4 +1,4 @@ -{% extends 'base.jinja' %} +{% extends 'base.jinja2' %} {% block content %} Nutzer anlegen | Gruppe anlegen diff --git a/templates/realm/realm_update.jinja b/templates/realm/realm_update.jinja deleted file mode 100644 index e69de29..0000000 diff --git a/templates/realm/realm_update.jinja2 b/templates/realm/realm_update.jinja2 new file mode 100644 index 0000000..91d59d5 --- /dev/null +++ b/templates/realm/realm_update.jinja2 @@ -0,0 +1,8 @@ +{% extends 'realm/realm_detailed.jinja2' %} +{% block realm_form %} +
+ + {{ form.as_p()|safe }} + +
+{% endblock %} \ No newline at end of file diff --git a/templates/realm/realm_user.jinja2 b/templates/realm/realm_user.jinja2 new file mode 100644 index 0000000..f8d0111 --- /dev/null +++ b/templates/realm/realm_user.jinja2 @@ -0,0 +1,7 @@ +{% extends 'realm/realm_detailed.jinja2' %} +{% block user_content %} +

Nutzer

+ {% for user in realm_user %} +

{{ user.username }} - {{ user.dn }}

+ {% endfor %} +{% endblock %} \ No newline at end of file diff --git a/templates/registration/login.html b/templates/registration/login.html index 55a78bc..70c40f0 100644 --- a/templates/registration/login.html +++ b/templates/registration/login.html @@ -1,4 +1,4 @@ -{% extends 'base.jinja' %} +{% extends 'base.jinja2' %} {% block title %}Login{% endblock %} diff --git a/templates/user/user_add.jinja b/templates/user/user_add.jinja2 similarity index 100% rename from templates/user/user_add.jinja rename to templates/user/user_add.jinja2 diff --git a/templates/user/user_detail.jinja b/templates/user/user_detail.jinja2 similarity index 93% rename from templates/user/user_detail.jinja rename to templates/user/user_detail.jinja2 index 4012191..bd25317 100644 --- a/templates/user/user_detail.jinja +++ b/templates/user/user_detail.jinja2 @@ -1,4 +1,4 @@ -{% extends 'base.jinja' %} +{% extends 'base.jinja2' %} {% block content %} Nutzerübersicht

DN: {{ user.dn }}

diff --git a/templates/user/user_list.jinja b/templates/user/user_list.jinja2 similarity index 94% rename from templates/user/user_list.jinja rename to templates/user/user_list.jinja2 index 82b1e09..aa17e2e 100644 --- a/templates/user/user_list.jinja +++ b/templates/user/user_list.jinja2 @@ -1,4 +1,4 @@ -{% extends 'base.jinja' %} +{% extends 'base.jinja2' %} {% block content %} Nutzer anlegen | Gruppe anlegen

Nutzer