From c4f441dc402612c9f36cc6206b4401d1c0d2887b Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Thu, 12 Feb 2015 10:48:22 +0100 Subject: [PATCH] Limit number of available tickets by maximum number of tickets per order --- .../templates/pretixpresale/event/index.html | 6 ++++-- src/pretixpresale/views/event.py | 8 ++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/pretixpresale/templates/pretixpresale/event/index.html b/src/pretixpresale/templates/pretixpresale/event/index.html index 99be0decb..4c7b7e78c 100644 --- a/src/pretixpresale/templates/pretixpresale/event/index.html +++ b/src/pretixpresale/templates/pretixpresale/event/index.html @@ -29,7 +29,8 @@ {% if var.cached_availability.0 == 100 %}
- +
{% else %} {% include "pretixpresale/event/fragment_availability.html" with avail=var.cached_availability.0 %} @@ -53,7 +54,8 @@ {% if item.cached_availability.0 == 100 %}
- +
{% else %} {% include "pretixpresale/event/fragment_availability.html" with avail=item.cached_availability.0 %} diff --git a/src/pretixpresale/views/event.py b/src/pretixpresale/views/event.py index af09c9f0d..a1e8bcfff 100644 --- a/src/pretixpresale/views/event.py +++ b/src/pretixpresale/views/event.py @@ -30,11 +30,15 @@ class EventIndex(EventViewMixin, TemplateView): item.has_variations = (len(item.available_variations) != 1 or not item.available_variations[0].empty()) if not item.has_variations: - item.cached_availability = item.availability() + item.cached_availability = list(item.availability()) + item.cached_availability[1] = min(item.cached_availability[1], + self.request.event.max_items_per_order) item.price = item.available_variations[0]['price'] else: for var in item.available_variations: - var.cached_availability = var['variation'].availability() + var.cached_availability = list(var['variation'].availability()) + var.cached_availability[1] = min(var.cached_availability[1], + self.request.event.max_items_per_order) # Regroup those by category context['items_by_category'] = sorted([