From 3461e45f93c6d230dba67a1edd9459f04182a3a2 Mon Sep 17 00:00:00 2001 From: Ross Date: Mon, 3 Nov 2025 12:31:49 +0000 Subject: [PATCH] Refactor user group management by moving auth groups to profile.html and creating a dedicated auth_groups_fragment.html for better organization and clarity --- .../partials/auth_groups_fragment.html | 46 ++++++++++++++++ .../partials/user_groups_fragment.html | 49 +---------------- generic/views.py | 11 ++++ templates/profile.html | 54 +++++++++++++++---- 4 files changed, 103 insertions(+), 57 deletions(-) create mode 100644 generic/templates/generic/partials/auth_groups_fragment.html diff --git a/generic/templates/generic/partials/auth_groups_fragment.html b/generic/templates/generic/partials/auth_groups_fragment.html new file mode 100644 index 00000000..c91b3981 --- /dev/null +++ b/generic/templates/generic/partials/auth_groups_fragment.html @@ -0,0 +1,46 @@ +{% comment %}Auth groups fragment for HTMX replacement{% endcomment %} +
+ {% if user.groups.all %} + {% for perm_group in user.groups.all %} + {% if request.user.is_superuser or is_cid_user_manager %} + + {% else %} + {{ perm_group.name }} + {% endif %} + {% endfor %} + {% else %} + No permission groups + {% endif %} + + {% if request.user.is_superuser or is_cid_user_manager %} + {% if available_auth_groups.count %} + + {% endif %} + {% endif %} +
diff --git a/generic/templates/generic/partials/user_groups_fragment.html b/generic/templates/generic/partials/user_groups_fragment.html index 318f2692..21855081 100644 --- a/generic/templates/generic/partials/user_groups_fragment.html +++ b/generic/templates/generic/partials/user_groups_fragment.html @@ -50,53 +50,6 @@ -
- Auth groups: -
- {% if user.groups.all %} - {% for group in user.groups.all %} - {% if request.user.is_superuser or is_cid_user_manager %} - - {% else %} - {{ group.name }} - {% endif %} - {% endfor %} - {% else %} - No auth groups - {% endif %} - - {% if request.user.is_superuser or is_cid_user_manager %} - {% if available_auth_groups.count %} - - {% endif %} - {% endif %} -
-
+ {# Auth groups moved to the Permission groups area in profile.html #} diff --git a/generic/views.py b/generic/views.py index e3f553f5..70ff4fb5 100644 --- a/generic/views.py +++ b/generic/views.py @@ -3926,6 +3926,17 @@ def user_toggle_group(request, user_id, group_id): is_cid_user_manager = request.user.groups.filter(name="cid_user_manager").exists() + if gtype == "auth": + return render( + request, + "generic/partials/auth_groups_fragment.html", + { + "user": user, + "available_auth_groups": available_auth_groups, + "is_cid_user_manager": is_cid_user_manager, + }, + ) + return render( request, "generic/partials/user_groups_fragment.html", diff --git a/templates/profile.html b/templates/profile.html index b62780ad..75818e5a 100644 --- a/templates/profile.html +++ b/templates/profile.html @@ -13,18 +13,54 @@

{{ user.get_full_name|default:user.username }}

@{{ user.username }}

{{ user.email }}

- {% if user.groups.all %} -
- Permission groups: -
+
+ Permission groups: +
+ {% if user.groups.all %} {% for perm_group in user.groups.all %} - {{ perm_group.name }} - {% empty %} - None + {% if request.user.is_superuser or is_cid_user_manager %} + + {% else %} + {{ perm_group.name }} + {% endif %} {% endfor %} -
+ {% else %} + No permission groups + {% endif %} + + {% if request.user.is_superuser or is_cid_user_manager %} + {% if available_auth_groups.count %} + + {% endif %} + {% endif %}
- {% endif %} +