from django.contrib import admin

from .models import WhatsAppLog


@admin.register(WhatsAppLog)
class WhatsAppLogAdmin(admin.ModelAdmin):
    """Painel de auditoria de mensagens WhatsApp."""

    list_display = [
        "numero_telefono",
        "evento",
        "estado",
        "intentos",
        "destinatario",
        "created_at",
    ]
    list_filter = ["evento", "estado", "created_at"]
    search_fields = [
        "numero_telefono",
        "destinatario__nombre",
        "destinatario__email",
        "whatsapp_message_id",
    ]
    readonly_fields = [
        "id",
        "destinatario",
        "numero_telefono",
        "evento",
        "estado",
        "mensaje_template",
        "mensaje_params",
        "whatsapp_message_id",
        "intentos",
        "error_detalle",
        "cita",
        "factura",
        "created_at",
        "updated_at",
    ]
    list_per_page = 50
    date_hierarchy = "created_at"
    ordering = ["-created_at"]

    def has_add_permission(self, request):
        return False

    def has_change_permission(self, request, obj=None):
        return False

    def has_delete_permission(self, request, obj=None):
        return request.user.is_superuser
