from django.contrib import admin from django.contrib.auth.admin import UserAdmin as BaseUserAdmin from django.utils.translation import gettext_lazy as _ from apps.accounts.models import User @admin.register(User) class UserAdmin(BaseUserAdmin): ordering = ("-date_joined",) list_display = ("email", "full_name", "role", "is_active", "is_staff", "date_joined") list_filter = ("role", "is_active", "is_staff", "is_superuser") search_fields = ("email", "full_name") readonly_fields = ("date_joined", "last_login") fieldsets = ( (None, {"fields": ("email", "password")}), (_("Personal info"), {"fields": ("full_name",)}), (_("Permissions"), {"fields": ("role", "is_active", "is_staff", "is_superuser", "groups")}), (_("Important dates"), {"fields": ("last_login", "date_joined")}), ) add_fieldsets = ( ( None, { "classes": ("wide",), "fields": ("email", "full_name", "role", "password1", "password2"), }, ), )