You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

59 lines
1.8 KiB

from django.contrib import admin
from apps.chat.models import RoomMessage, ChatMessage, MessageReadStatus
@admin.register(MessageReadStatus)
class MessageReadStatusAdmin(admin.ModelAdmin):
list_display = (
'user', 'message', 'is_read', 'read_at',
)
@admin.register(RoomMessage)
class RoomMessageAdmin(admin.ModelAdmin):
list_display = (
'name', 'room_type', 'course', 'initiator', 'recipient', 'created_at', 'unread_messages_count'
)
list_filter = ('room_type', 'created_at', 'updated_at', 'course')
search_fields = ('name', 'description', 'course__title', 'initiator__username', 'recipient__username')
ordering = ('-created_at',)
readonly_fields = ('created_at', 'updated_at')
fieldsets = (
(None, {
'fields': ('name', 'description', 'room_type')
}),
('Relations', {
'fields': ('course', 'initiator', 'recipient')
}),
('Timestamps', {
'fields': ('created_at', 'updated_at')
}),
)
@admin.register(ChatMessage)
class ChatMessageAdmin(admin.ModelAdmin):
list_display = (
'room', 'sender', 'content_type', 'content_size', 'sent_at', 'is_deleted'
)
list_filter = ('content_type', 'is_deleted', 'sent_at', 'updated_at')
search_fields = ('room__name', 'sender__username', 'content')
ordering = ('-sent_at',)
readonly_fields = ('sent_at', 'updated_at')
fieldsets = (
(None, {
'fields': ('room', 'sender', 'content', 'content_type')
}),
('Additional Info', {
'fields': ('content_size',)
}),
('Status', {
'fields': ('is_deleted', 'deleted_at')
}),
('Timestamps', {
'fields': ('sent_at', 'updated_at')
}),
)