from django.contrib import admin from .models import Submission, SubmissionFile class SubmissionFileInline(admin.TabularInline): """Inline admin for submission files.""" model = SubmissionFile extra = 0 readonly_fields = ["uploaded_at", "file_size"] @admin.register(Submission) class SubmissionAdmin(admin.ModelAdmin): """Admin interface for submissions.""" list_display = [ "email", "submitted_at", "expiration_time", "is_expired", "file_count", ] list_filter = ["submitted_at", "expiration_time"] search_fields = ["email", "description"] readonly_fields = ["submitted_at"] inlines = [SubmissionFileInline] def file_count(self, obj): """Display the number of files in this submission.""" return obj.files.count() file_count.short_description = "Files" @admin.register(SubmissionFile) class SubmissionFileAdmin(admin.ModelAdmin): """Admin interface for submission files.""" list_display = ["original_filename", "submission", "file_size", "uploaded_at"] list_filter = ["uploaded_at"] search_fields = ["original_filename", "submission__email"] readonly_fields = ["uploaded_at", "file_size"]