fix: expose checkedIn in PartnerBookingListView — prefetch ticket_set
Add prefetch_related('ticket_set') to PartnerBookingListView queryset.
Serialize 'checkedIn': any(t.is_checked_in for t in b.ticket_set.all())
so partner portal attendees page can show real check-in status.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -3922,7 +3922,7 @@ class PartnerBookingListView(APIView):
|
|||||||
ticket_meta__event__partner=partner
|
ticket_meta__event__partner=partner
|
||||||
).select_related(
|
).select_related(
|
||||||
'user', 'ticket_meta__event', 'ticket_type'
|
'user', 'ticket_meta__event', 'ticket_type'
|
||||||
).order_by('-created_date', '-id')
|
).prefetch_related('ticket_set').order_by('-created_date', '-id')
|
||||||
|
|
||||||
# Search: booking_id, user email, user first/last name
|
# Search: booking_id, user email, user first/last name
|
||||||
search = request.query_params.get('search', '').strip()
|
search = request.query_params.get('search', '').strip()
|
||||||
@@ -3977,6 +3977,7 @@ class PartnerBookingListView(APIView):
|
|||||||
'paymentStatus': b.payment_status,
|
'paymentStatus': b.payment_status,
|
||||||
'transactionId': b.transaction_id or '',
|
'transactionId': b.transaction_id or '',
|
||||||
'createdDate': b.created_date.isoformat() if b.created_date else None,
|
'createdDate': b.created_date.isoformat() if b.created_date else None,
|
||||||
|
'checkedIn': any(t.is_checked_in for t in b.ticket_set.all()),
|
||||||
})
|
})
|
||||||
|
|
||||||
return Response({
|
return Response({
|
||||||
|
|||||||
Reference in New Issue
Block a user