from django.contrib import admin
from .models import Call, CallActivity, TonyCall, UserMessage, Notification


@admin.register(Call)
class CallAdmin(admin.ModelAdmin):
    list_display = ['from_number', 'to_number', 'bot_type', 'id', 'transfer_number', 'status', 'duration', 'cost', 'created_at',]
    list_filter = ['company', 'bot_type', 'transfer_status', 'booking_intent']
    search_fields = ['from_number', 'to_number', 'call_id', 'twilio_call_sid']
    ordering = ['-created_at']

@admin.register(CallActivity)
class CallActivityAdmin(admin.ModelAdmin):
    list_display = ['call', 'user', 'action', 'performed_at', 'duration_played', 'id']
    list_filter = ['action', 'performed_at']
    search_fields = ['call__call_id', 'user__username']
    ordering = ['-performed_at']

@admin.register(TonyCall)
class TonyCallAdmin(admin.ModelAdmin):
    list_display = ['called_to', 'status', 'company', 'rescheduled', 'created_at', 'call_date_time', 'id']
    list_filter = ['intention', 'status']
    search_fields = ['company__name', 'called_number', 'called_to']
    ordering = ['-created_at']

@admin.register(UserMessage)
class MessageAdmin(admin.ModelAdmin):
    list_display = ['subject', 'recipient', 'is_read', 'read_at', 'id']
    list_filter = ['subject', 'is_read', 'recipient__username']
    search_fields = ['recipient__username']
    ordering = ['-created_at']

@admin.register(Notification)
class NotificationAdmin(admin.ModelAdmin):
    list_display = ['title', 'recipient', 'is_read', 'read_at', 'id']
    list_filter = ['is_read', 'recipient__username']
    search_fields = ['recipient__username']
    ordering = ['-created_at']
