from django.contrib import admin
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
from .models import User, LoginSession


@admin.register(User)
class UserAdmin(BaseUserAdmin):
    list_display = ('username', 'email', 'first_name', 'last_name', 'branch', 'date_created', 'is_staff')
    list_filter = ('date_created', 'is_staff', 'is_superuser')
    search_fields = ('username', 'email', 'first_name', 'last_name')
    ordering = ('-date_created',)


@admin.register(LoginSession)
class LoginSessionAdmin(admin.ModelAdmin):
    list_display = ('user', 'branch', 'login_time', 'logout_time', 'ip_address')
    list_filter = ('login_time', 'branch', 'user')
    search_fields = ('user__username', 'branch__name', 'ip_address')
    readonly_fields = ('login_time', 'ip_address', 'user_agent')
    ordering = ('-login_time',)
