From e97ae045811a896b553583255d8e2eda8e4341cd Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Thu, 19 Sep 2019 10:09:59 +0200 Subject: [PATCH] Helpful error messages --- src/pretix/base/payment.py | 6 +++++- src/pretix/base/services/cart.py | 1 + src/pretix/presale/views/cart.py | 5 ++++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/pretix/base/payment.py b/src/pretix/base/payment.py index 848c65ecb..593bdbdab 100644 --- a/src/pretix/base/payment.py +++ b/src/pretix/base/payment.py @@ -969,7 +969,11 @@ class GiftCardPayment(BasePaymentProvider): kwargs['cart_namespace'] = request.resolver_match.kwargs['cart_namespace'] return eventreverse(self.event, 'presale:event.checkout', kwargs=kwargs) except GiftCard.DoesNotExist: - messages.error(request, _("This gift card is not known.")) + if self.event.vouchers.filter(code__iexact=request.POST.get("giftcard")).exists(): + messages.warning(request, _("You entered a voucher instead of a gift card. Vouchers can only be entered on the first page of the shop below " + "the product selection.")) + else: + messages.error(request, _("This gift card is not known.")) except GiftCard.MultipleObjectsReturned: messages.error(request, _("This gift card can not be redeemed since its code is not unique. Please contact the organizer of this event.")) diff --git a/src/pretix/base/services/cart.py b/src/pretix/base/services/cart.py index 999246849..6431f9eb6 100644 --- a/src/pretix/base/services/cart.py +++ b/src/pretix/base/services/cart.py @@ -97,6 +97,7 @@ error_messages = { 'seat_forbidden': _('You can not select a seat for this position.'), 'seat_unavailable': _('The seat you selected has already been taken. Please select a different seat.'), 'seat_multiple': _('You can not select the same seat multiple times.'), + 'gift_card': _("You entered a gift card instead of a voucher. Gift cards can be entered later on when you're asked for your payment details."), } diff --git a/src/pretix/presale/views/cart.py b/src/pretix/presale/views/cart.py index 4064f2e5e..b019e154e 100644 --- a/src/pretix/presale/views/cart.py +++ b/src/pretix/presale/views/cart.py @@ -478,7 +478,10 @@ class RedeemView(NoSearchIndexViewMixin, EventViewMixin, TemplateView): if v_avail < 1 and not err: err = error_messages['voucher_redeemed_cart'] % self.request.event.settings.reservation_time except Voucher.DoesNotExist: - err = error_messages['voucher_invalid'] + if self.request.event.organizer.accepted_gift_cards.filter(secret__iexact=request.GET.get("voucher")).exists(): + err = error_messages['gift_card'] + else: + err = error_messages['voucher_invalid'] else: return redirect(self.get_index_url())