from django.contrib import admin
from .models import AuditLog


@admin.register(AuditLog)
class AuditLogAdmin(admin.ModelAdmin):
    list_display = ('created_at', 'user', 'action', 'entity_type', 'entity_id')
    list_filter = ('action', 'entity_type', 'created_at')
    search_fields = ('entity_id', 'description', 'user__username')
    readonly_fields = [f.name for f in AuditLog._meta.fields]

    def has_add_permission(self, request):
        return False

    def has_delete_permission(self, request, obj=None):
        # deletion restricted to superusers via admin UI only
        return request.user.is_superuser
