forked from CGM_Public/pretix_original
Fix rare crash in MembershipStep
This commit is contained in:
@@ -52,7 +52,7 @@ from django.utils.translation import (
|
|||||||
from django.views.generic.base import TemplateResponseMixin
|
from django.views.generic.base import TemplateResponseMixin
|
||||||
from django_scopes import scopes_disabled
|
from django_scopes import scopes_disabled
|
||||||
|
|
||||||
from pretix.base.models import Customer, Order
|
from pretix.base.models import Customer, Membership, Order
|
||||||
from pretix.base.models.orders import InvoiceAddress, OrderPayment
|
from pretix.base.models.orders import InvoiceAddress, OrderPayment
|
||||||
from pretix.base.models.tax import TaxedPrice, TaxRule
|
from pretix.base.models.tax import TaxedPrice, TaxRule
|
||||||
from pretix.base.services.cart import (
|
from pretix.base.services.cart import (
|
||||||
@@ -401,10 +401,15 @@ class MembershipStep(CartMixin, TemplateFlowStep):
|
|||||||
def forms(self):
|
def forms(self):
|
||||||
forms = []
|
forms = []
|
||||||
|
|
||||||
|
if self.cart_customer:
|
||||||
memberships = list(self.cart_customer.memberships.with_usages().filter(
|
memberships = list(self.cart_customer.memberships.with_usages().filter(
|
||||||
Q(Q(membership_type__max_usages__isnull=True) | Q(usages__lt=F('membership_type__max_usages'))),
|
Q(Q(membership_type__max_usages__isnull=True) | Q(usages__lt=F('membership_type__max_usages'))),
|
||||||
canceled=False
|
canceled=False
|
||||||
).select_related('membership_type'))
|
).select_related('membership_type'))
|
||||||
|
else:
|
||||||
|
# Only possible to reach if you have a product that requries membership but customer accoutns have been
|
||||||
|
# disabled entirely
|
||||||
|
memberships = Membership.objects.none()
|
||||||
|
|
||||||
for p in self.applicable_positions:
|
for p in self.applicable_positions:
|
||||||
form = MembershipForm(
|
form = MembershipForm(
|
||||||
|
|||||||
Reference in New Issue
Block a user