from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from .models import CustomUser, AccountsRole
from django.conf import settings

# Register your models here.
from .models import (
    AccountsPrivilege, AccountsRole, AccountsRolePrivilege,
    Camera, CameraRole, Screen, ScreenCamera,
    DefaultUserScreen, Type, XVR
)

class CustomUserAdmin(UserAdmin):
    model = CustomUser
    list_display = ('email', 'full_name', 'is_active', 'is_staff', 'is_superuser')
    list_filter = ('is_active', 'is_staff', 'is_superuser')
    ordering = ('email',)
    search_fields = ('email', 'full_name')

    fieldsets = (
        (None, {'fields': ('email', 'password')}),
        ('Personal info', {'fields': ('full_name',)}),
        ('Permissions', {'fields': ('is_active', 'is_staff', 'is_superuser', 'groups', 'user_permissions')}),
        ('Important dates', {'fields': ('last_login', 'date_joined')}),
        ('Role info', {'fields': ('role',)}),
    )

    add_fieldsets = (
        (None, {
            'classes': ('wide',),
            'fields': ('email', 'full_name', 'password1', 'password2', 'is_active', 'is_staff', 'is_superuser', 'role')}
        ),
    )

admin.site.register(CustomUser, CustomUserAdmin)

admin.site.register(AccountsPrivilege)
admin.site.register(AccountsRolePrivilege)
admin.site.register(Camera)
admin.site.register(CameraRole)
admin.site.register(Screen)
admin.site.register(ScreenCamera)
admin.site.register(DefaultUserScreen)
admin.site.register(Type)
admin.site.register(XVR)

admin.site.register(AccountsRole)
