from django.contrib import admin from .models import Reservation, ReservationToken class ReservationTokenInline(admin.TabularInline): model = ReservationToken extra = 0 readonly_fields = ("token_hash", "used_at", "created_at") fields = ("purpose", "token_hash", "expires_at", "used_at", "created_at") @admin.register(Reservation) class ReservationAdmin(admin.ModelAdmin): list_display = ( "name", "email", "performance", "party_size", "status", "confirmed_at", "created_at", ) list_filter = ("status", "performance", "created_at", "confirmed_at") search_fields = ("name", "email", "phone", "performance__show__title") inlines = (ReservationTokenInline,) @admin.register(ReservationToken) class ReservationTokenAdmin(admin.ModelAdmin): list_display = ("reservation", "purpose", "expires_at", "used_at", "created_at") list_filter = ("purpose", "expires_at", "used_at", "created_at") search_fields = ("reservation__name", "reservation__email", "token_hash") readonly_fields = ("token_hash", "created_at", "used_at")