from django.contrib import admin from django.contrib.auth.admin import UserAdmin as DjangoUserAdmin from apps.accounts.models import PhoneOTP, User @admin.register(User) class UserAdmin(DjangoUserAdmin): model = User list_display = ("email", "phone_number", "role", "is_staff", "is_phone_verified") list_filter = ("role", "is_staff", "is_phone_verified") ordering = ("email",) search_fields = ("email", "phone_number") fieldsets = ( (None, {"fields": ("email", "password")}), ("Personal", {"fields": ("first_name", "last_name", "phone_number")}), ("Roles", {"fields": ("role", "is_phone_verified")}), ("Permissions", {"fields": ("is_active", "is_staff", "is_superuser", "groups", "user_permissions")}), ("Dates", {"fields": ("last_login",)}), ) add_fieldsets = ( (None, { "classes": ("wide",), "fields": ("email", "password1", "password2", "role"), }), ) @admin.register(PhoneOTP) class PhoneOTPAdmin(admin.ModelAdmin): list_display = ("phone_number", "channel", "provider", "created_at", "expires_at", "verified_at") list_filter = ("channel", "provider") search_fields = ("phone_number",)