✨(users) improve user display on admin users list
If user email exists, display it instead of sub to identify users in admin view list.
This commit is contained in:
@@ -42,7 +42,7 @@ class UserAdmin(auth_admin.UserAdmin):
|
|||||||
)
|
)
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
(_("Personal info"), {"fields": ("email", "language", "timezone")}),
|
(_("Personal info"), {"fields": ("name", "email", "language", "timezone")}),
|
||||||
(
|
(
|
||||||
_("Permissions"),
|
_("Permissions"),
|
||||||
{
|
{
|
||||||
@@ -69,8 +69,7 @@ class UserAdmin(auth_admin.UserAdmin):
|
|||||||
)
|
)
|
||||||
inlines = (TeamAccessInline, MailDomainAccessInline)
|
inlines = (TeamAccessInline, MailDomainAccessInline)
|
||||||
list_display = (
|
list_display = (
|
||||||
"sub",
|
"get_user",
|
||||||
"email",
|
|
||||||
"created_at",
|
"created_at",
|
||||||
"updated_at",
|
"updated_at",
|
||||||
"is_active",
|
"is_active",
|
||||||
@@ -81,7 +80,7 @@ class UserAdmin(auth_admin.UserAdmin):
|
|||||||
list_filter = ("is_staff", "is_superuser", "is_device", "is_active")
|
list_filter = ("is_staff", "is_superuser", "is_device", "is_active")
|
||||||
ordering = ("is_active", "-is_superuser", "-is_staff", "-is_device", "-updated_at")
|
ordering = ("is_active", "-is_superuser", "-is_staff", "-is_device", "-updated_at")
|
||||||
readonly_fields = ["id", "created_at", "updated_at"]
|
readonly_fields = ["id", "created_at", "updated_at"]
|
||||||
search_fields = ("id", "email", "sub")
|
search_fields = ("id", "email", "sub", "name")
|
||||||
|
|
||||||
def get_readonly_fields(self, request, obj=None):
|
def get_readonly_fields(self, request, obj=None):
|
||||||
"""The sub should only be editable for a create, not for updates."""
|
"""The sub should only be editable for a create, not for updates."""
|
||||||
@@ -89,6 +88,14 @@ class UserAdmin(auth_admin.UserAdmin):
|
|||||||
return self.readonly_fields + ["sub"]
|
return self.readonly_fields + ["sub"]
|
||||||
return self.readonly_fields
|
return self.readonly_fields
|
||||||
|
|
||||||
|
def get_user(self, obj):
|
||||||
|
"""Provide a nice display for user"""
|
||||||
|
return (
|
||||||
|
obj.name if obj.name else (obj.email if obj.email else f"[sub] {obj.sub}")
|
||||||
|
)
|
||||||
|
|
||||||
|
get_user.short_description = _("User")
|
||||||
|
|
||||||
|
|
||||||
@admin.register(models.Team)
|
@admin.register(models.Team)
|
||||||
class TeamAdmin(admin.ModelAdmin):
|
class TeamAdmin(admin.ModelAdmin):
|
||||||
|
|||||||
Reference in New Issue
Block a user