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