mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-22 18:11:13 -05:00
39 lines
1.3 KiB
Python
39 lines
1.3 KiB
Python
from django.contrib import admin
|
|
from unfold.admin import ModelAdmin
|
|
from .models import Report
|
|
|
|
|
|
@admin.register(Report)
|
|
class ReportAdmin(ModelAdmin):
|
|
list_display = ['id', 'entity_type', 'entity_id', 'report_type', 'status', 'reported_by', 'reviewed_by', 'created_at']
|
|
list_filter = ['status', 'report_type', 'entity_type', 'created_at']
|
|
search_fields = ['id', 'entity_id', 'description', 'resolution_notes', 'reported_by__email']
|
|
date_hierarchy = 'created_at'
|
|
ordering = ['-created_at']
|
|
readonly_fields = ['id', 'created_at', 'updated_at']
|
|
|
|
fieldsets = (
|
|
('Report Details', {
|
|
'fields': ('id', 'report_type', 'description', 'status')
|
|
}),
|
|
('Reported Entity', {
|
|
'fields': ('entity_type', 'entity_id')
|
|
}),
|
|
('Reporter Information', {
|
|
'fields': ('reported_by', 'created_at')
|
|
}),
|
|
('Moderation', {
|
|
'fields': ('reviewed_by', 'reviewed_at', 'resolution_notes'),
|
|
'classes': ('collapse',)
|
|
}),
|
|
('Tracking', {
|
|
'fields': ('updated_at',),
|
|
'classes': ('collapse',)
|
|
}),
|
|
)
|
|
|
|
def get_queryset(self, request):
|
|
"""Optimize queryset with select_related for foreign keys"""
|
|
qs = super().get_queryset(request)
|
|
return qs.select_related('reported_by', 'reviewed_by')
|