From 6dd1c927efcebdd20119116a9604bceb6e64d735 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Tue, 6 Aug 2019 14:08:34 +0200 Subject: [PATCH] Add fail_on_no_quotas parameter to Item.check_quotas --- src/pretix/base/models/items.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/pretix/base/models/items.py b/src/pretix/base/models/items.py index b020221f53..3ec1489f2d 100644 --- a/src/pretix/base/models/items.py +++ b/src/pretix/base/models/items.py @@ -493,7 +493,7 @@ class Item(LoggedModel): return check_quotas def check_quotas(self, ignored_quotas=None, count_waitinglist=True, subevent=None, _cache=None, - include_bundled=False, trust_parameters=False): + include_bundled=False, trust_parameters=False, fail_on_no_quotas=False): """ This method is used to determine whether this Item is currently available for sale. @@ -541,6 +541,8 @@ class Item(LoggedModel): res = (code_avail, num_avail) if len(quotacounter) == 0: + if fail_on_no_quotas: + return Quota.AVAILABILITY_GONE, 0 return Quota.AVAILABILITY_OK, sys.maxsize # backwards compatibility return res @@ -696,7 +698,7 @@ class ItemVariation(models.Model): return check_quotas def check_quotas(self, ignored_quotas=None, count_waitinglist=True, subevent=None, _cache=None, - include_bundled=False, trust_parameters=False) -> Tuple[int, int]: + include_bundled=False, trust_parameters=False, fail_on_no_quotas=False) -> Tuple[int, int]: """ This method is used to determine whether this ItemVariation is currently available for sale in terms of quotas. @@ -738,6 +740,8 @@ class ItemVariation(models.Model): if code_avail < res[0] or res[1] is None or num_avail < res[1]: res = (code_avail, num_avail) if len(quotacounter) == 0: + if fail_on_no_quotas: + return Quota.AVAILABILITY_GONE, 0 return Quota.AVAILABILITY_OK, sys.maxsize # backwards compatibility return res