fix linked_orderpositions filter in checkinrpc

This commit is contained in:
Richard Schreiber
2025-12-16 13:35:35 +01:00
parent 9f2b83e5fc
commit 015b4efb11

View File

@@ -521,11 +521,13 @@ def _redeem_process(*, checkinlists, raw_barcode, answers_data, datetime, force,
# with respecting the force option), or it's a reusable medium (-> proceed with that)
if not op_candidates:
try:
media = ReusableMedium.objects.active().get(
media = ReusableMedium.objects.active().annotate(
has_linked_orderpositions=Exists(ReusableMedium.linked_orderpositions.through.objects.filter(reusablemedium_id=OuterRef('pk')))
).get(
organizer_id=checkinlists[0].event.organizer_id,
type=source_type,
identifier=raw_barcode,
linked_orderpositions__isnull=False,
has_linked_orderpositions=True,
)
raw_barcode_for_checkin = raw_barcode
except ReusableMedium.DoesNotExist: