from django.contrib import admin from django.contrib.auth.admin import UserAdmin from .models import CustomUser @admin.register(CustomUser) class CustomUserAdmin(UserAdmin): """Admin interface for CustomUser.""" # Add custom fields to the user admin fieldsets = UserAdmin.fieldsets + ( ( "CAS Information", { "fields": ("cas_user_id", "cas_groups", "cas_attributes"), }, ), ) # Add custom fields to the list display list_display = UserAdmin.list_display + ("cas_user_id", "get_cas_groups_display") # Add search fields search_fields = UserAdmin.search_fields + ("cas_user_id",) # Add filters list_filter = UserAdmin.list_filter + ("cas_groups",) # Make CAS fields readonly in admin readonly_fields = ("cas_user_id", "cas_groups", "cas_attributes") def get_cas_groups_display(self, obj): """Display CAS groups in admin list.""" return obj.get_cas_groups_display() get_cas_groups_display.short_description = "CAS Groups"