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 %}
|
{% endif %}
|
||||||
|
|
||||||
{% if request.user.is_superuser or is_cid_user_manager %}
|
{% if request.user.is_superuser or is_cid_user_manager %}
|
||||||
{% if available_auth_groups.count %}
|
<div class="dropdown">
|
||||||
<div class="dropdown">
|
<button class="btn btn-sm btn-outline-primary dropdown-toggle" type="button" id="addAuthGroupDropdown" data-bs-toggle="dropdown" aria-expanded="false">
|
||||||
<button class="btn btn-sm btn-outline-primary dropdown-toggle" type="button" id="addAuthGroupDropdown" data-bs-toggle="dropdown" aria-expanded="false">
|
Add
|
||||||
Add
|
</button>
|
||||||
</button>
|
<ul class="dropdown-menu" aria-labelledby="addAuthGroupDropdown">
|
||||||
<ul class="dropdown-menu" aria-labelledby="addAuthGroupDropdown">
|
{% if available_auth_groups.count %}
|
||||||
{% for ag in available_auth_groups %}
|
{% for ag in available_auth_groups %}
|
||||||
<li>
|
<li>
|
||||||
<button
|
<button
|
||||||
@@ -39,8 +39,16 @@
|
|||||||
</button>
|
</button>
|
||||||
</li>
|
</li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
{% else %}
|
||||||
</div>
|
{% if request.user.is_superuser %}
|
||||||
{% endif %}
|
<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 %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+14
-1
@@ -162,7 +162,20 @@ def account_profile(request, slug):
|
|||||||
available_groups = UserUserGroup.objects.filter(archive=False).exclude(
|
available_groups = UserUserGroup.objects.filter(archive=False).exclude(
|
||||||
pk__in=user.user_groups.values_list("pk", flat=True)
|
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):
|
def cid_selector(request):
|
||||||
|
|||||||
+17
-9
@@ -37,12 +37,12 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if request.user.is_superuser or is_cid_user_manager %}
|
{% if request.user.is_superuser or is_cid_user_manager %}
|
||||||
{% if available_auth_groups.count %}
|
<div class="dropdown">
|
||||||
<div class="dropdown">
|
<button class="btn btn-sm btn-outline-primary dropdown-toggle" type="button" id="addAuthGroupDropdown" data-bs-toggle="dropdown" aria-expanded="false">
|
||||||
<button class="btn btn-sm btn-outline-primary dropdown-toggle" type="button" id="addAuthGroupDropdown" data-bs-toggle="dropdown" aria-expanded="false">
|
Add
|
||||||
Add
|
</button>
|
||||||
</button>
|
<ul class="dropdown-menu" aria-labelledby="addAuthGroupDropdown">
|
||||||
<ul class="dropdown-menu" aria-labelledby="addAuthGroupDropdown">
|
{% if available_auth_groups.count %}
|
||||||
{% for ag in available_auth_groups %}
|
{% for ag in available_auth_groups %}
|
||||||
<li>
|
<li>
|
||||||
<button
|
<button
|
||||||
@@ -55,9 +55,17 @@
|
|||||||
</button>
|
</button>
|
||||||
</li>
|
</li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
{% else %}
|
||||||
</div>
|
{% if request.user.is_superuser %}
|
||||||
{% endif %}
|
<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 %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user