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

from infrastructure.models import Attendance, Holiday, LeaveRequest, User, WorkSchedule


class UserAdmin(DjangoUserAdmin):
    model = User
    list_display = ("personnel_code", "name", "is_admin", "is_active")
    ordering = ("personnel_code",)
    fieldsets = (
        (None, {"fields": ("personnel_code", "password")}),
        ("Personal info", {"fields": ("name",)}),
        ("Permissions", {"fields": ("is_admin", "is_active", "is_staff", "is_superuser", "groups", "user_permissions")}),
    )
    add_fieldsets = (
        (None, {"classes": ("wide",), "fields": ("personnel_code", "name", "password1", "password2", "is_admin")}),
    )
    search_fields = ("personnel_code", "name")


admin.site.register(User, UserAdmin)
admin.site.register(Attendance)
admin.site.register(Holiday)
admin.site.register(LeaveRequest)
admin.site.register(WorkSchedule)
