Spaces:
Sleeping
Sleeping
| from django.contrib import admin | |
| from .models import ( | |
| Conversation, ConversationParticipant, Message, | |
| MessageContent, MessageReadStatus, MessageAttachment | |
| ) | |
| class ConversationParticipantInline(admin.TabularInline): | |
| model = ConversationParticipant | |
| extra = 0 | |
| 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 | |
| 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] | |
| class MessageReadStatusAdmin(admin.ModelAdmin): | |
| list_display = ('message', 'user', 'read_at') | |
| list_filter = ('read_at',) | |