from django.contrib import admin
from .models import RSVP, Accreditation, Invite

@admin.register(RSVP)
class RSVPAdmin(admin.ModelAdmin):
    list_display = ('full_name', 'email', 'phone', 'which_event', 'created_at', 'is_sent')
    list_filter = ('which_event', 'created_at',)
    search_fields = ('full_name', 'email', 'phone')
    list_per_page = 25
    list_editable = ('is_sent',)

@admin.register(Accreditation)
class AccreditationAdmin(admin.ModelAdmin):
    list_display = ('rsvp__full_name', 'date', 'time', 'is_accredited_display')
    list_filter = ('date', 'is_accredited')
    search_fields = ('rsvp__full_name',)
    list_select_related = ('rsvp',)
    list_per_page = 25

    def is_accredited_display(self, obj):
        return obj.is_accredited
    is_accredited_display.short_description = 'Accredited'
    is_accredited_display.boolean = True
    
@admin.register(Invite)
class InviteAdmin(admin.ModelAdmin):
    list_display = ('name', 'email', 'phone', 'is_invited', 'message_sid', 'created_at')
    search_fields = ('name', 'email', 'phone')
    list_filter = ('is_invited', 'created_at')
    readonly_fields = ('created_at',)
    list_editable = ('is_invited',)
