34 lines
1023 B
Python
34 lines
1023 B
Python
from django.contrib import admin
|
|
|
|
from .models import Conversation, Message, ResakaProfile
|
|
|
|
|
|
@admin.register(ResakaProfile)
|
|
class ResakaProfileAdmin(admin.ModelAdmin):
|
|
list_display = ("display_name", "handle", "status_text", "created_at")
|
|
search_fields = ("display_name", "handle", "status_text")
|
|
|
|
|
|
class MessageInline(admin.TabularInline):
|
|
model = Message
|
|
extra = 0
|
|
readonly_fields = ("created_at",)
|
|
|
|
|
|
@admin.register(Conversation)
|
|
class ConversationAdmin(admin.ModelAdmin):
|
|
list_display = ("subject", "starter", "recipient", "updated_at")
|
|
search_fields = ("subject", "starter__display_name", "recipient__display_name")
|
|
inlines = [MessageInline]
|
|
|
|
|
|
@admin.register(Message)
|
|
class MessageAdmin(admin.ModelAdmin):
|
|
list_display = ("conversation", "author", "short_body", "reaction", "is_read", "created_at")
|
|
list_filter = ("is_read", "reaction", "created_at")
|
|
search_fields = ("body", "author__display_name")
|
|
|
|
@staticmethod
|
|
def short_body(obj):
|
|
return obj.body[:60]
|