From ae5eab628cde13ee5052aaec41b2bc13d9cc246c Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Thu, 25 Jun 2015 19:25:55 +0200 Subject: [PATCH] Refs #74 -- Hide retry button if the ticket is sold out --- src/pretix/base/models.py | 2 +- src/pretix/plugins/paypal/payment.py | 1 - src/pretix/presale/views/order.py | 6 +++++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/pretix/base/models.py b/src/pretix/base/models.py index 37379050cb..c3b578570d 100644 --- a/src/pretix/base/models.py +++ b/src/pretix/base/models.py @@ -1618,7 +1618,7 @@ class Order(Versionable): error_messages = { 'unavailable': _('Some of the ordered products were no longer available.'), 'busy': _('We were not able to process the request completely as the ' - 'server was too busy. Please try again.'), + 'server was too busy.'), } positions = list(self.positions.all().select_related( 'item', 'variation' diff --git a/src/pretix/plugins/paypal/payment.py b/src/pretix/plugins/paypal/payment.py index 5c48944d28..52611806f8 100644 --- a/src/pretix/plugins/paypal/payment.py +++ b/src/pretix/plugins/paypal/payment.py @@ -3,7 +3,6 @@ import json import logging from django.contrib import messages -from django.core.urlresolvers import reverse from django.template.loader import get_template from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext as __ diff --git a/src/pretix/presale/views/order.py b/src/pretix/presale/views/order.py index 2f189a90fe..de89baef2e 100644 --- a/src/pretix/presale/views/order.py +++ b/src/pretix/presale/views/order.py @@ -83,7 +83,11 @@ class OrderDetails(EventViewMixin, EventLoginRequiredMixin, OrderDetailMixin, ) if self.order.status == Order.STATUS_PENDING: ctx['payment'] = self.payment_provider.order_pending_render(self.request, self.order) - ctx['can_retry'] = self.payment_provider.order_can_retry(self.order) and self.payment_provider.is_enabled + ctx['can_retry'] = ( + self.payment_provider.order_can_retry(self.order) + and self.payment_provider.is_enabled + and self.order._can_be_paid(keep_locked=False) + ) elif self.order.status == Order.STATUS_PAID: ctx['payment'] = self.payment_provider.order_paid_render(self.request, self.order) ctx['can_retry'] = False