@@ -0,0 +1,47 @@
|
||||
from django.contrib import admin
|
||||
|
||||
from .models import (
|
||||
CheatFlag,
|
||||
Contest,
|
||||
ContestAnswer,
|
||||
ContestAttempt,
|
||||
ContestQuestion,
|
||||
LeaderboardSnapshot,
|
||||
Question,
|
||||
QuestionVersion,
|
||||
RatingHistory,
|
||||
RealtimeMatch,
|
||||
)
|
||||
|
||||
|
||||
class ContestQuestionInline(admin.TabularInline):
|
||||
model = ContestQuestion
|
||||
extra = 1
|
||||
|
||||
|
||||
@admin.register(Contest)
|
||||
class ContestAdmin(admin.ModelAdmin):
|
||||
list_display = ("title", "kind", "track", "status", "starts_at", "ends_at")
|
||||
list_filter = ("kind", "track", "status")
|
||||
inlines = [ContestQuestionInline]
|
||||
|
||||
|
||||
@admin.register(ContestAttempt)
|
||||
class ContestAttemptAdmin(admin.ModelAdmin):
|
||||
list_display = ("id", "user", "contest", "status", "score", "duration_ms", "started_at")
|
||||
list_filter = ("status", "contest__kind", "contest__track")
|
||||
readonly_fields = ("started_at", "submitted_at")
|
||||
|
||||
|
||||
@admin.register(CheatFlag)
|
||||
class CheatFlagAdmin(admin.ModelAdmin):
|
||||
list_display = ("attempt", "reason", "status", "created_at")
|
||||
list_filter = ("status", "reason")
|
||||
|
||||
|
||||
admin.site.register(Question)
|
||||
admin.site.register(QuestionVersion)
|
||||
admin.site.register(ContestAnswer)
|
||||
admin.site.register(RealtimeMatch)
|
||||
admin.site.register(RatingHistory)
|
||||
admin.site.register(LeaderboardSnapshot)
|
||||
Reference in New Issue
Block a user