mirror of
https://github.com/pretix/pretix.git
synced 2026-06-11 01:25:13 +00:00
Use media_policy from item, not as a checkinrpc parameter
This commit is contained in:
committed by
Raphael Michel
parent
b2380f794e
commit
f6ab4195c4
@@ -90,7 +90,6 @@ class CheckinRPCRedeemInputSerializer(serializers.Serializer):
|
|||||||
answers = serializers.JSONField(required=False, allow_null=True)
|
answers = serializers.JSONField(required=False, allow_null=True)
|
||||||
media_type = serializers.ChoiceField(required=False, choices=MEDIA_TYPES)
|
media_type = serializers.ChoiceField(required=False, choices=MEDIA_TYPES)
|
||||||
media_identifier = serializers.CharField(required=False)
|
media_identifier = serializers.CharField(required=False)
|
||||||
media_policy = serializers.ChoiceField(required=False, choices=Item.MEDIA_POLICIES)
|
|
||||||
media_action = serializers.ChoiceField(required=False, choices=[
|
media_action = serializers.ChoiceField(required=False, choices=[
|
||||||
('append', 'append'),
|
('append', 'append'),
|
||||||
('replace', 'replace'),
|
('replace', 'replace'),
|
||||||
|
|||||||
@@ -457,7 +457,7 @@ def _checkin_list_position_queryset(checkinlists, ignore_status=False, ignore_pr
|
|||||||
def _redeem_process(*, checkinlists, raw_barcode, answers_data, datetime, force, checkin_type, ignore_unpaid, nonce,
|
def _redeem_process(*, checkinlists, raw_barcode, answers_data, datetime, force, checkin_type, ignore_unpaid, nonce,
|
||||||
untrusted_input, user, auth, expand, pdf_data, request, questions_supported, canceled_supported,
|
untrusted_input, user, auth, expand, pdf_data, request, questions_supported, canceled_supported,
|
||||||
source_type='barcode', legacy_url_support=False, simulate=False, gate=None, use_order_locale=False,
|
source_type='barcode', legacy_url_support=False, simulate=False, gate=None, use_order_locale=False,
|
||||||
media_type=None, media_identifier=None, media_policy=None, media_action=None):
|
media_type=None, media_identifier=None, media_action=None):
|
||||||
if not checkinlists:
|
if not checkinlists:
|
||||||
raise ValidationError('No check-in list passed.')
|
raise ValidationError('No check-in list passed.')
|
||||||
|
|
||||||
@@ -805,13 +805,12 @@ def _redeem_process(*, checkinlists, raw_barcode, answers_data, datetime, force,
|
|||||||
locale = op.order.event.settings.locale
|
locale = op.order.event.settings.locale
|
||||||
with language(locale):
|
with language(locale):
|
||||||
try:
|
try:
|
||||||
if all(k is not None for k in [media_type, media_identifier, media_policy, media_action]) and not media:
|
if all(k is not None for k in [media_type, media_identifier, media_action]) and not media:
|
||||||
with transaction.atomic():
|
with transaction.atomic():
|
||||||
media = perform_media_exchange(
|
media = perform_media_exchange(
|
||||||
organizer=request.organizer,
|
organizer=request.organizer,
|
||||||
media_type=media_type,
|
media_type=media_type,
|
||||||
media_identifier=media_identifier,
|
media_identifier=media_identifier,
|
||||||
media_policy=media_policy,
|
|
||||||
media_action=media_action,
|
media_action=media_action,
|
||||||
op=op,
|
op=op,
|
||||||
)
|
)
|
||||||
@@ -1079,7 +1078,6 @@ class CheckinRPCRedeemView(views.APIView):
|
|||||||
legacy_url_support=False,
|
legacy_url_support=False,
|
||||||
media_type=s.validated_data.get('media_type'),
|
media_type=s.validated_data.get('media_type'),
|
||||||
media_identifier=s.validated_data.get('media_identifier'),
|
media_identifier=s.validated_data.get('media_identifier'),
|
||||||
media_policy=s.validated_data.get('media_policy'),
|
|
||||||
media_action=s.validated_data.get('media_action'),
|
media_action=s.validated_data.get('media_action'),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -72,8 +72,9 @@ def get_keysets_for_organizer(organizer):
|
|||||||
return sets
|
return sets
|
||||||
|
|
||||||
|
|
||||||
def perform_media_exchange(organizer, media_type, media_identifier, media_policy, media_action, op):
|
def perform_media_exchange(organizer, media_type, media_identifier, media_action, op):
|
||||||
medium = None
|
medium = None
|
||||||
|
media_policy = op.item.media_policy
|
||||||
|
|
||||||
if media_policy in [Item.MEDIA_POLICY_REUSE, Item.MEDIA_POLICY_REUSE_OR_NEW]:
|
if media_policy in [Item.MEDIA_POLICY_REUSE, Item.MEDIA_POLICY_REUSE_OR_NEW]:
|
||||||
try:
|
try:
|
||||||
|
|||||||
Reference in New Issue
Block a user