From 8d703a917597874eb565ed080ebd817ad5cd7cfb Mon Sep 17 00:00:00 2001 From: Andreas Zweili Date: Mon, 4 Apr 2022 09:57:46 +0200 Subject: [PATCH] add child groups to view --- users/templates/groups/group_details.html | 15 +++++++++++++++ users/tests/test_group_detail_view.py | 14 ++++++++++++++ users/views.py | 6 +++++- 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/users/templates/groups/group_details.html b/users/templates/groups/group_details.html index a0bedc8..8df4807 100644 --- a/users/templates/groups/group_details.html +++ b/users/templates/groups/group_details.html @@ -17,6 +17,21 @@ {% endfor %} + + {% if groups %} + + + + + + {% for group in groups %} + + + + + {% endfor %} +
Group NameAddress
{{ group.name }}{{ group.mail_address }}
+ {% endif %} diff --git a/users/tests/test_group_detail_view.py b/users/tests/test_group_detail_view.py index 2569e80..5c04f80 100644 --- a/users/tests/test_group_detail_view.py +++ b/users/tests/test_group_detail_view.py @@ -50,3 +50,17 @@ def test_group_detail_view_with_user(create_admin_user): user.groups.add(group) response = client.get("/group/" + str(group.id) + "/") assert response.status_code == 200 and helper.in_content(response, user) + + +def test_group_detail_view_with_child_group(create_admin_user): + create_admin_user() + group = mixer.blend("users.Group", customer=mixer.SELECT) + child_group = mixer.blend( + "users.Group", customer=mixer.SELECT, parent_group=mixer.SELECT + ) + client = Client() + client.login(username="pharma-admin", password="password") + response = client.get("/group/" + str(group.id) + "/") + assert response.status_code == 200 and helper.in_content( + response, child_group + ) diff --git a/users/views.py b/users/views.py index 03c93ff..eb0cf83 100644 --- a/users/views.py +++ b/users/views.py @@ -86,8 +86,12 @@ def group_detail_view(request, pk): Group, user=request.user, pk=pk ) users = group.user_set.all() + groups = Group.objects.filter(parent_group=group) + print(groups) return render( - request, "groups/group_details.html", {"group": group, "users": users} + request, + "groups/group_details.html", + {"group": group, "users": users, "groups": groups}, )