Files
azionelab/backend/bookings/admin.py

35 lines
1.1 KiB
Python

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")