add more detailed description of collect_potential_discounts parameter

This commit is contained in:
Mira Weller
2024-07-26 19:40:28 +02:00
parent 9337ad1f70
commit 537a0993b0
2 changed files with 7 additions and 2 deletions

View File

@@ -337,6 +337,7 @@ class Discount(LoggedModel):
:param positions: Dictionary mapping IDs to PositionInfo tuples. :param positions: Dictionary mapping IDs to PositionInfo tuples.
Bundled positions may not be included. Bundled positions may not be included.
:param collect_potential_discounts: For detailed description, see pretix.base.services.pricing.apply_discounts
:return: A dictionary mapping keys from the input dictionary to new prices. All positions :return: A dictionary mapping keys from the input dictionary to new prices. All positions
contained in this dictionary are considered "consumed" and should not be considered contained in this dictionary are considered "consumed" and should not be considered

View File

@@ -167,7 +167,11 @@ def apply_discounts(event: Event, sales_channel: Union[str, SalesChannel],
:param sales_channel: Sales channel the cart was created with :param sales_channel: Sales channel the cart was created with
:param positions: Tuple of the form ``(item_id, subevent_id, line_price_gross, is_addon_to, is_bundled, voucher_discount)`` :param positions: Tuple of the form ``(item_id, subevent_id, line_price_gross, is_addon_to, is_bundled, voucher_discount)``
:param collect_potential_discounts: If a `defaultdict(list)` is supplied, all discounts that could be applied to the cart :param collect_potential_discounts: If a `defaultdict(list)` is supplied, all discounts that could be applied to the cart
based on the "consumed" items, but lack matching "benefitting" items will be collected in it. based on the "consumed" items, but lack matching "benefitting" items will be collected therein.
The dict will contain a mapping from index in the `positions` list of the item that could be consumed, to a list
of tuples describing the discounts that could be applied in the form (discount, max_count, grouping_id).
max_count is either the maximum number of benefitting items that the discount would apply to, or `inf` if that number
is not limited. The grouping_id can be used to distinguish several occurrences of the same discount.
:return: A list of ``(new_gross_price, discount)`` tuples in the same order as the input :return: A list of ``(new_gross_price, discount)`` tuples in the same order as the input
""" """