from django.contrib import admin

from .models import SupportTicket, SupportTicketAttachment, SupportTicketMessage


@admin.register(SupportTicket)
class SupportTicketAdmin(admin.ModelAdmin):
    list_display = (
        "ticket_number",
        "subject",
        "user",
        "category",
        "priority",
        "status",
        "assigned_to",
        "created_at",
    )
    list_filter = ("status", "priority", "category", "created_at")
    search_fields = ("ticket_number", "subject", "user__mobile", "user__email")
    autocomplete_fields = ("user", "assigned_to")


@admin.register(SupportTicketMessage)
class SupportTicketMessageAdmin(admin.ModelAdmin):
    list_display = ("ticket", "sender", "is_internal", "created_at")
    list_filter = ("is_internal", "created_at")
    search_fields = ("ticket__ticket_number", "sender__mobile", "sender__email", "message")
    autocomplete_fields = ("ticket", "sender")


@admin.register(SupportTicketAttachment)
class SupportTicketAttachmentAdmin(admin.ModelAdmin):
    list_display = ("ticket", "message", "uploaded_by", "file_name", "file_size", "created_at")
    search_fields = ("ticket__ticket_number", "file_name", "uploaded_by__mobile", "uploaded_by__email")
    autocomplete_fields = ("ticket", "message", "uploaded_by")
