32 lines
1.0 KiB
Python
32 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' |