fix: use precomputed permission flags in template
This commit is contained in:
@@ -111,11 +111,11 @@
|
|||||||
<div class="rounded-2xl bg-slate-50 p-4">
|
<div class="rounded-2xl bg-slate-50 p-4">
|
||||||
<p class="text-sm font-semibold text-gray-700">{% trans "Behörigheter" %}</p>
|
<p class="text-sm font-semibold text-gray-700">{% trans "Behörigheter" %}</p>
|
||||||
<div class="mt-3 flex flex-wrap gap-2 text-xs">
|
<div class="mt-3 flex flex-wrap gap-2 text-xs">
|
||||||
<span class="rounded-full px-3 py-1 {% if user.is_staff %}bg-emerald-100 text-emerald-800{% else %}bg-slate-200 text-slate-600{% endif %}">{% trans "Admin/staff" %}</span>
|
<span class="rounded-full px-3 py-1 {% if row.permission_flags.is_staff %}bg-emerald-100 text-emerald-800{% else %}bg-slate-200 text-slate-600{% endif %}">{% trans "Admin/staff" %}</span>
|
||||||
<span class="rounded-full px-3 py-1 {% if user.has_perm('claims.view_claim') %}bg-blue-100 text-blue-800{% else %}bg-slate-200 text-slate-600{% endif %}">{% trans "Får se utlägg" %}</span>
|
<span class="rounded-full px-3 py-1 {% if row.permission_flags.view %}bg-blue-100 text-blue-800{% else %}bg-slate-200 text-slate-600{% endif %}">{% trans "Får se utlägg" %}</span>
|
||||||
<span class="rounded-full px-3 py-1 {% if user.has_perm('claims.change_claim') %}bg-indigo-100 text-indigo-800{% else %}bg-slate-200 text-slate-600{% endif %}">{% trans "Får besluta utlägg" %}</span>
|
<span class="rounded-full px-3 py-1 {% if row.permission_flags.change %}bg-indigo-100 text-indigo-800{% else %}bg-slate-200 text-slate-600{% endif %}">{% trans "Får besluta utlägg" %}</span>
|
||||||
<span class="rounded-full px-3 py-1 {% if user.has_perm('claims.edit_claim_details') %}bg-purple-100 text-purple-800{% else %}bg-slate-200 text-slate-600{% endif %}">{% trans "Får redigera utlägg" %}</span>
|
<span class="rounded-full px-3 py-1 {% if row.permission_flags.edit %}bg-purple-100 text-purple-800{% else %}bg-slate-200 text-slate-600{% endif %}">{% trans "Får redigera utlägg" %}</span>
|
||||||
<span class="rounded-full px-3 py-1 {% if user.has_perm('claims.mark_claim_paid') %}bg-amber-100 text-amber-800{% else %}bg-slate-200 text-slate-600{% endif %}">{% trans "Får markera betalningar" %}</span>
|
<span class="rounded-full px-3 py-1 {% if row.permission_flags.pay %}bg-amber-100 text-amber-800{% else %}bg-slate-200 text-slate-600{% endif %}">{% trans "Får markera betalningar" %}</span>
|
||||||
</div>
|
</div>
|
||||||
<button type="button"
|
<button type="button"
|
||||||
data-open-permission-edit="{{ user.id }}"
|
data-open-permission-edit="{{ user.id }}"
|
||||||
|
|||||||
@@ -377,6 +377,13 @@ class UserManagementView(LoginRequiredMixin, PermissionRequiredMixin, TemplateVi
|
|||||||
users = User.objects.order_by("username")
|
users = User.objects.order_by("username")
|
||||||
rows = []
|
rows = []
|
||||||
for user in users:
|
for user in users:
|
||||||
|
perms = {
|
||||||
|
"is_staff": user.is_staff,
|
||||||
|
"view": user.has_perm("claims.view_claim"),
|
||||||
|
"change": user.has_perm("claims.change_claim"),
|
||||||
|
"edit": user.has_perm("claims.edit_claim_details"),
|
||||||
|
"pay": user.has_perm("claims.mark_claim_paid"),
|
||||||
|
}
|
||||||
rows.append(
|
rows.append(
|
||||||
{
|
{
|
||||||
"user": user,
|
"user": user,
|
||||||
@@ -390,6 +397,7 @@ class UserManagementView(LoginRequiredMixin, PermissionRequiredMixin, TemplateVi
|
|||||||
"grant_pay": user.has_perm("claims.mark_claim_paid"),
|
"grant_pay": user.has_perm("claims.mark_claim_paid"),
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
|
"permission_flags": perms,
|
||||||
"delete_form": None
|
"delete_form": None
|
||||||
if user == self.request.user or user.is_superuser
|
if user == self.request.user or user.is_superuser
|
||||||
else DeleteUserForm(initial={"user_id": user.id}),
|
else DeleteUserForm(initial={"user_id": user.id}),
|
||||||
|
|||||||
Reference in New Issue
Block a user