generated from bisco/codex-bootstrap
35 lines
1.1 KiB
Python
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")
|