from django.contrib import admin
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin

from .models import User


@admin.register(User)
class UserAdmin(BaseUserAdmin):
    list_display = (
        "username",
        "email",
        "role",
        "is_active",
        "is_approved",
        "is_staff",
        "is_superuser",
    )
    list_filter = ("role", "is_active", "is_approved", "is_staff", "is_superuser")

    fieldsets = BaseUserAdmin.fieldsets + (
        (
            "Lecture Lounge Fields",
            {
                "fields": (
                    "role",
                    "phone_number",
                    "building",
                    "office",
                    "employee_id",
                    "employee_id_image",
                    "is_approved",
                )
            },
        ),
    )

    add_fieldsets = BaseUserAdmin.add_fieldsets + (
        (
            "Lecture Lounge Fields",
            {
                "fields": (
                    "email",
                    "role",
                    "phone_number",
                    "building",
                    "office",
                    "employee_id",
                    "employee_id_image",
                    "is_approved",
                )
            },
        ),
    )
