from django.contrib import admin from directmail.models import Campaign, Message, MessageTemplate, ProviderEvent @admin.register(MessageTemplate) class MessageTemplateAdmin(admin.ModelAdmin): list_display = ("name", "channel", "created_at") list_filter = ("channel",) class MessageInline(admin.TabularInline): model = Message extra = 0 readonly_fields = ("status", "provider", "provider_message_id", "sent_at") @admin.register(Campaign) class CampaignAdmin(admin.ModelAdmin): list_display = ( "name", "channel", "audience", "status", "scheduled_for", "created_at", ) list_filter = ("channel", "audience", "status") inlines = [MessageInline] @admin.register(Message) class MessageAdmin(admin.ModelAdmin): list_display = ("campaign", "contact", "channel", "status", "scheduled_for") list_filter = ("channel", "status") @admin.register(ProviderEvent) class ProviderEventAdmin(admin.ModelAdmin): list_display = ("provider", "event_type", "created_at")