37 lines
1.0 KiB
Python
37 lines
1.0 KiB
Python
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"
|