32 lines
1.0 KiB
Python
32 lines
1.0 KiB
Python
from django.contrib import admin
|
|
|
|
from .models import ApiToken, ImpersonationLog, UserProfile
|
|
|
|
|
|
@admin.register(UserProfile)
|
|
class UserProfileAdmin(admin.ModelAdmin):
|
|
list_display = ('user', 'joined')
|
|
search_fields = ('user__username',)
|
|
|
|
|
|
@admin.register(ApiToken)
|
|
class ApiTokenAdmin(admin.ModelAdmin):
|
|
list_display = ('user', 'label', 'key_prefix', 'created_at', 'last_used')
|
|
search_fields = ('user__username', 'label')
|
|
|
|
|
|
@admin.register(ImpersonationLog)
|
|
class ImpersonationLogAdmin(admin.ModelAdmin):
|
|
list_display = ('impersonator', 'target', 'reason', 'started_at', 'ended_at')
|
|
list_filter = ('started_at', 'ended_at')
|
|
search_fields = ('impersonator__username', 'target__username', 'reason')
|
|
readonly_fields = ('impersonator', 'target', 'reason', 'started_at', 'ended_at')
|
|
|
|
def has_add_permission(self, request):
|
|
return False
|
|
|
|
def has_change_permission(self, request, obj=None):
|
|
return False
|
|
|
|
def has_delete_permission(self, request, obj=None):
|
|
return request.user.is_superuser |