File size: 1,151 Bytes
fafd0bb |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
from django.contrib import admin
from .models import (
Conversation, ConversationParticipant, Message,
MessageContent, MessageReadStatus, MessageAttachment
)
class ConversationParticipantInline(admin.TabularInline):
model = ConversationParticipant
extra = 0
@admin.register(Conversation)
class ConversationAdmin(admin.ModelAdmin):
list_display = ('id', 'last_message_at', 'created_at', 'is_active')
list_filter = ('created_at', 'is_active')
inlines = [ConversationParticipantInline]
class MessageContentInline(admin.StackedInline):
model = MessageContent
extra = 0
class MessageAttachmentInline(admin.TabularInline):
model = MessageAttachment
extra = 0
@admin.register(Message)
class MessageAdmin(admin.ModelAdmin):
list_display = ('sender', 'conversation', 'created_at', 'is_active')
list_filter = ('created_at', 'is_active')
search_fields = ('sender__email',)
inlines = [MessageContentInline, MessageAttachmentInline]
@admin.register(MessageReadStatus)
class MessageReadStatusAdmin(admin.ModelAdmin):
list_display = ('message', 'user', 'read_at')
list_filter = ('read_at',)
|