from django.contrib import admin
from .models import ChatRoom, ChatMessage


class ChatMessageInline(admin.TabularInline):
    model = ChatMessage
    extra = 0
    readonly_fields = ("sender", "message", "is_seen", "created_at")


@admin.register(ChatRoom)
class ChatRoomAdmin(admin.ModelAdmin):
    list_display = (
        "id", "user", "subject", "product", "order",
        "is_closed", "created_at", "updated_at"
    )
    list_filter = ("is_closed", "created_at", "updated_at")
    search_fields = ("user__username", "subject", "product__title")
    inlines = [ChatMessageInline]


@admin.register(ChatMessage)
class ChatMessageAdmin(admin.ModelAdmin):
    list_display = ("id", "room", "sender", "short_message", "is_seen", "created_at")
    list_filter = ("is_seen", "created_at")
    search_fields = ("message", "sender__username", "room__subject")

    def short_message(self, obj):
        return obj.message[:50]
    short_message.short_description = "متن پیام"
