Show (some) discounts in product list

Discounts are currently only shown in the cart, after products have been
selected. This was not a big problem since we invented the discount
machinery specifically for group discounts, which can only be applied in
the cart. However it *is* possible to define a Discount that applies to
a group of one. Then, one would expect that the discounted price would
be shown already on the front page of the shop.

Back then, I decided against this for complexity and performance
concerns, but after looking into it, it's not actually that bad.

On the user side, I think this is a game changer for the discount
feature. Now, I could use discount rules also to implement early-bird
pricing without duplicating producs/variations, or I can do a christmas
discount on all subevents in december without modifying all individual
subevents.
This commit is contained in:
Raphael Michel
2026-09-11 18:18:19 +02:00
parent d85e52c83e
commit 10aec6d8dc
3 changed files with 402 additions and 32 deletions
+3 -1
View File
@@ -510,7 +510,9 @@ class Item(LoggedModel):
verbose_name=_("Free price input"),
help_text=_("If this option is active, your users can choose the price themselves. The price configured above "
"is then interpreted as the minimum price a user has to enter. You could use this e.g. to collect "
"additional donations for your event.")
"additional donations for your event. We recommend against combining this feature with automatic "
"discounts since discounts are applied as the last step of price computation, which means that the "
"price entered by the customer will be modified again.")
)
free_price_suggestion = models.DecimalField(
verbose_name=_("Suggested price"),