django-auditlog/auditlog/admin.py
2022-05-31 20:05:43 +09:00

34 lines
1.1 KiB
Python

from django.contrib import admin
from auditlog.filters import ResourceTypeFilter
from auditlog.mixins import LogEntryAdminMixin
from auditlog.models import LogEntry
class LogEntryAdmin(admin.ModelAdmin, LogEntryAdminMixin):
list_display = ["created", "resource_url", "action", "msg_short", "user_url"]
search_fields = [
"timestamp",
"object_repr",
"changes",
"actor__first_name",
"actor__last_name",
"actor__username",
]
list_filter = ["action", ResourceTypeFilter]
readonly_fields = ["created", "resource_url", "action", "user_url", "msg"]
fieldsets = [
(None, {"fields": ["created", "user_url", "resource_url"]}),
("Changes", {"fields": ["action", "msg"]}),
]
def has_add_permission(self, request):
# As audit admin doesn't allow log creation from admin
return False
def get_queryset(self, request):
queryset = super().get_queryset(request).select_related("content_type", "actor")
return queryset
admin.site.register(LogEntry, LogEntryAdmin)