from django.contrib import admin
from .models import UserProfile, AccountDeletionRequest, DeletedUser, DeletedUserProfile

@admin.register(UserProfile)
class UserProfileAdmin(admin.ModelAdmin):
    list_display = ('user', 'birth_date', 'can_regenerate_ai', 'created_at', 'updated_at')
    search_fields = ('user__phone', 'user__email', 'user__first_name', 'user__last_name')
    readonly_fields = ('created_at', 'updated_at')
    list_filter = ('can_regenerate_ai',)
    fieldsets = (
        (None, {
            'fields': ('user',)
        }),
        ('Personal Info', {
            'fields': ('birth_date', 'birth_time', 'twin_type', 'father_dob', 'mother_dob')
        }),
        ('Permissions', {
            'fields': ('can_regenerate_ai',),
            'description': '允许用户重新生成AI分析，默认情况下普通用户只能生成一次分析。'
        }),
        ('Timestamps', {
            'fields': ('created_at', 'updated_at'),
            'classes': ('collapse',)
        }),
    )

@admin.register(AccountDeletionRequest)
class AccountDeletionRequestAdmin(admin.ModelAdmin):
    list_display = ('user', 'created_at', 'expires_at', 'is_active')
    search_fields = ('user__phone', 'user__email')
    list_filter = ('is_active',)
    readonly_fields = ('token', 'created_at')

@admin.register(DeletedUser)
class DeletedUserAdmin(admin.ModelAdmin):
    list_display = ('phone', 'email', 'original_id', 'deleted_at')
    search_fields = ('phone', 'email', 'first_name', 'last_name')
    readonly_fields = ('deleted_at',)

@admin.register(DeletedUserProfile)
class DeletedUserProfileAdmin(admin.ModelAdmin):
    list_display = ('deleted_user', 'original_id', 'deleted_at')
    search_fields = ('deleted_user__phone', 'deleted_user__email')
    readonly_fields = ('deleted_at',)
