From ff9ef77c3ae7d86a9024efe502ba16cb6a34a232 Mon Sep 17 00:00:00 2001 From: Martin Gross Date: Wed, 27 May 2026 17:12:58 +0200 Subject: [PATCH] Simplify media exchange checks --- src/pretix/base/services/checkin.py | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/src/pretix/base/services/checkin.py b/src/pretix/base/services/checkin.py index 8fb7b4bb2e..f33d1a4941 100644 --- a/src/pretix/base/services/checkin.py +++ b/src/pretix/base/services/checkin.py @@ -1115,25 +1115,15 @@ def perform_checkin(op: OrderPosition, clist: CheckinList, given_answers: dict, required_media_policy = op.item.media_policy required_media_type = op.item.media_type linked_media = op.linked_media - require_media_exchange = required_media_policy and required_media_type and not linked_media.exists() - if require_media_exchange and not force and media_exchange_supported: - raise RequiredMediaExchangeError( - _('You need to exchange your ticket to complete this check-in.'), - 'exchange', - required_media_policy, - required_media_type - ) - - require_reusable_media_usage = required_media_policy and required_media_type and op.organizer.settings.reusable_media_usage_enforced - if require_reusable_media_usage and not force: - if not reusable_media and not linked_media.exists() and media_exchange_supported: + if not reusable_media and required_media_policy and required_media_type and not force: + if not linked_media.exists() and media_exchange_supported: raise RequiredMediaExchangeError( _('You need to exchange your ticket to complete this check-in.'), 'exchange', required_media_policy, required_media_type ) - elif not reusable_media and linked_media.exists(): + elif op.organizer.settings.reusable_media_usage_enforced: raise CheckInError( _('This ticket has already been exchanged - use the reusable medium instead.'), 'already_exchanged',