From 12abf7d642a32e4547615063b153c887c9427a28 Mon Sep 17 00:00:00 2001 From: Joel Addison Date: Sat, 17 Jan 2026 09:10:48 +0000 Subject: [PATCH] Add Admin screens for Attendees Allow attendees and attendee profiles to be managed via the admin site so organisers can fill out details on attendees' behalf, eg. for invited speakers. --- pinaxcon/registrasion/admin.py | 18 ++++++++++++++++++ vendor/registrasion/registrasion/admin.py | 12 ++++++++++++ 2 files changed, 30 insertions(+) diff --git a/pinaxcon/registrasion/admin.py b/pinaxcon/registrasion/admin.py index 09679267..d6779b08 100644 --- a/pinaxcon/registrasion/admin.py +++ b/pinaxcon/registrasion/admin.py @@ -1,5 +1,23 @@ from django.contrib import admin from .models import PastEvent +from .models import AttendeeProfile admin.site.register(PastEvent) + + +@admin.register(AttendeeProfile) +class AttendeeProfileAdmin(admin.ModelAdmin): + model = AttendeeProfile + + list_display = ("attendee", "attendee_name", "company", "country", "state", "attendee_completed_registration", "attendee_ticket_type") + list_filter = ("attendee__completed_registration", "company", "country") + + def attendee_completed_registration(self, obj): + return obj.attendee.completed_registration + attendee_completed_registration.admin_order_field = "attendee__completed_registration" + attendee_completed_registration.short_description = "Completed Registration?" + + def attendee_ticket_type(self, obj): + return obj.attendee.ticket_type + attendee_ticket_type.short_description = "Ticket Type" diff --git a/vendor/registrasion/registrasion/admin.py b/vendor/registrasion/registrasion/admin.py index 83c3679c..df846f93 100644 --- a/vendor/registrasion/registrasion/admin.py +++ b/vendor/registrasion/registrasion/admin.py @@ -6,6 +6,7 @@ import nested_admin from registrasion.models import conditions from registrasion.models import inventory +from registrasion.models import people class EffectsDisplayMixin(object): @@ -238,3 +239,14 @@ class TimeOrStockLimitFlagAdmin(admin.ModelAdmin, EffectsDisplayMixin): "effects", ) ordering = ("start_time", "end_time", "limit") + + +# People admin + + +@admin.register(people.Attendee) +class AttendeeAdmin(admin.ModelAdmin): + model = people.Attendee + list_display = ("user", "completed_registration", "access_code") + list_filter = ("completed_registration", ) + readonly_fields = ("access_code", ) \ No newline at end of file