forked from CGM_Public/pretix_original
Fix bug in previous commit
This commit is contained in:
@@ -45,9 +45,7 @@ def validate_plan_change(event, subevent, plan):
|
|||||||
seat=OuterRef('pk'),
|
seat=OuterRef('pk'),
|
||||||
canceled=False,
|
canceled=False,
|
||||||
).exclude(
|
).exclude(
|
||||||
order__event=event,
|
order__status__in=(Order.STATUS_CANCELED, Order.STATUS_EXPIRED)
|
||||||
subevent=subevent,
|
|
||||||
order__status=(Order.STATUS_CANCELED, Order.STATUS_EXPIRED)
|
|
||||||
))
|
))
|
||||||
).annotate(has_v=Count('vouchers')).filter(
|
).annotate(has_v=Count('vouchers')).filter(
|
||||||
subevent=subevent,
|
subevent=subevent,
|
||||||
@@ -69,11 +67,9 @@ def generate_seats(event, subevent, plan, mapping, blocked_guids=None):
|
|||||||
for s in event.seats.select_related('product').annotate(
|
for s in event.seats.select_related('product').annotate(
|
||||||
has_op=Exists(OrderPosition.all.filter(
|
has_op=Exists(OrderPosition.all.filter(
|
||||||
seat=OuterRef('pk'),
|
seat=OuterRef('pk'),
|
||||||
order__event=event,
|
|
||||||
subevent=subevent,
|
|
||||||
canceled=False,
|
canceled=False,
|
||||||
).exclude(
|
).exclude(
|
||||||
order__status=Order.STATUS_CANCELED
|
order__status__in=(Order.STATUS_CANCELED, Order.STATUS_EXPIRED)
|
||||||
)),
|
)),
|
||||||
has_v=Count('vouchers')
|
has_v=Count('vouchers')
|
||||||
).filter(subevent=subevent).order_by():
|
).filter(subevent=subevent).order_by():
|
||||||
@@ -138,7 +134,7 @@ def generate_seats(event, subevent, plan, mapping, blocked_guids=None):
|
|||||||
Seat.objects.bulk_create(create_seats)
|
Seat.objects.bulk_create(create_seats)
|
||||||
CartPosition.objects.filter(seat__in=[s.pk for s in current_seats.values()]).delete()
|
CartPosition.objects.filter(seat__in=[s.pk for s in current_seats.values()]).delete()
|
||||||
OrderPosition.all.filter(
|
OrderPosition.all.filter(
|
||||||
Q(canceled=True) | Q(order__status=Order.STATUS_CANCELED),
|
Q(canceled=True) | Q(order__status__in=(Order.STATUS_CANCELED, Order.STATUS_EXPIRED)),
|
||||||
seat__in=[s.pk for s in current_seats.values()],
|
seat__in=[s.pk for s in current_seats.values()],
|
||||||
).update(seat=None)
|
).update(seat=None)
|
||||||
Seat.objects.filter(pk__in=[s.pk for s in current_seats.values()]).delete()
|
Seat.objects.filter(pk__in=[s.pk for s in current_seats.values()]).delete()
|
||||||
|
|||||||
Reference in New Issue
Block a user