from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from .models import CustomUser

@admin.register(CustomUser)
class CustomUserAdmin(UserAdmin):
    """
    Configuration de l'interface Django Admin pour le CustomUser.
    Permet l'édition du champ 'role' directement depuis le panel.
    """
    model = CustomUser
    
    # Ajout du champ 'role' dans l'affichage sous forme de liste
    list_display =['username', 'email', 'first_name', 'last_name', 'role', 'is_active']
    list_filter = ['role', 'is_active', 'is_staff']
    search_fields =['username', 'email', 'first_name', 'last_name']
    
    # Ajout du champ 'role' dans le formulaire d'édition
    fieldsets = UserAdmin.fieldsets + (
        ('Droits Métiers Billetrie', {'fields': ('role',)}),
    )
    add_fieldsets = UserAdmin.add_fieldsets + (
        ('Droits Métiers Billetrie', {'fields': ('role',)}),
    )