from django.contrib import admin
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin

from .models import PendingUser, Role, User

@admin.register(User)
class UserAdmin(BaseUserAdmin):
    fieldsets = (
        (None, {'fields': ('phone', 'password','is_verified')}),
        ('Personal Info', {'fields': ('role',)}),
        ('Permissions', {'fields': ('is_active', 'is_staff', 'is_superuser', 'groups', 'user_permissions')}),
    )

    add_fieldsets = (
        (None, {
            'classes': ('wide',),
            'fields': ('phone', 'password1', 'password2', 'role', 'is_active', 'is_staff', 'is_superuser','is_verified'),
        }),
    )

    list_display = ('user', 'role', 'date_joined', 'last_login', 'is_staff', 'is_superuser', 'is_active')
    list_filter = ('is_staff', 'is_superuser', 'is_active', 'groups')
    search_fields = ('phone',)
    ordering = ('phone',)
    search_help_text = "Search by user's number"
   
    def user(self, obj):
        return obj.__str__()

    def role(self, obj):
        return obj.role.name

admin.site.register(Role)
admin.site.register(PendingUser)