Refactor auth group dropdown in profile and fragment templates for improved functionality and user experience
This commit is contained in:
@@ -21,12 +21,12 @@
|
||||
{% endif %}
|
||||
|
||||
{% if request.user.is_superuser or is_cid_user_manager %}
|
||||
{% if available_auth_groups.count %}
|
||||
<div class="dropdown">
|
||||
<button class="btn btn-sm btn-outline-primary dropdown-toggle" type="button" id="addAuthGroupDropdown" data-bs-toggle="dropdown" aria-expanded="false">
|
||||
Add
|
||||
</button>
|
||||
<ul class="dropdown-menu" aria-labelledby="addAuthGroupDropdown">
|
||||
<div class="dropdown">
|
||||
<button class="btn btn-sm btn-outline-primary dropdown-toggle" type="button" id="addAuthGroupDropdown" data-bs-toggle="dropdown" aria-expanded="false">
|
||||
Add
|
||||
</button>
|
||||
<ul class="dropdown-menu" aria-labelledby="addAuthGroupDropdown">
|
||||
{% if available_auth_groups.count %}
|
||||
{% for ag in available_auth_groups %}
|
||||
<li>
|
||||
<button
|
||||
@@ -39,8 +39,16 @@
|
||||
</button>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% if request.user.is_superuser %}
|
||||
<li>
|
||||
<a class="dropdown-item" href="{% url 'admin:auth_group_add' %}" target="_blank" rel="noopener">Create permission group</a>
|
||||
</li>
|
||||
{% else %}
|
||||
<li><span class="dropdown-item disabled">No groups available to add</span></li>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
+14
-1
@@ -162,7 +162,20 @@ def account_profile(request, slug):
|
||||
available_groups = UserUserGroup.objects.filter(archive=False).exclude(
|
||||
pk__in=user.user_groups.values_list("pk", flat=True)
|
||||
)
|
||||
return render(request, "profile.html", {"user": user, "available_groups": available_groups})
|
||||
available_auth_groups = Group.objects.exclude(
|
||||
pk__in=user.groups.values_list("pk", flat=True)
|
||||
)
|
||||
is_cid_user_manager = request.user.groups.filter(name="cid_user_manager").exists()
|
||||
return render(
|
||||
request,
|
||||
"profile.html",
|
||||
{
|
||||
"user": user,
|
||||
"available_groups": available_groups,
|
||||
"available_auth_groups": available_auth_groups,
|
||||
"is_cid_user_manager": is_cid_user_manager,
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
def cid_selector(request):
|
||||
|
||||
+17
-9
@@ -37,12 +37,12 @@
|
||||
{% endif %}
|
||||
|
||||
{% if request.user.is_superuser or is_cid_user_manager %}
|
||||
{% if available_auth_groups.count %}
|
||||
<div class="dropdown">
|
||||
<button class="btn btn-sm btn-outline-primary dropdown-toggle" type="button" id="addAuthGroupDropdown" data-bs-toggle="dropdown" aria-expanded="false">
|
||||
Add
|
||||
</button>
|
||||
<ul class="dropdown-menu" aria-labelledby="addAuthGroupDropdown">
|
||||
<div class="dropdown">
|
||||
<button class="btn btn-sm btn-outline-primary dropdown-toggle" type="button" id="addAuthGroupDropdown" data-bs-toggle="dropdown" aria-expanded="false">
|
||||
Add
|
||||
</button>
|
||||
<ul class="dropdown-menu" aria-labelledby="addAuthGroupDropdown">
|
||||
{% if available_auth_groups.count %}
|
||||
{% for ag in available_auth_groups %}
|
||||
<li>
|
||||
<button
|
||||
@@ -55,9 +55,17 @@
|
||||
</button>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% if request.user.is_superuser %}
|
||||
<li>
|
||||
<a class="dropdown-item" href="{% url 'admin:auth_group_add' %}" target="_blank" rel="noopener">Create permission group</a>
|
||||
</li>
|
||||
{% else %}
|
||||
<li><span class="dropdown-item disabled">No groups available to add</span></li>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user