diff --git a/src/pretix/presale/templates/pretixpresale/event/index.html b/src/pretix/presale/templates/pretixpresale/event/index.html index c71c9607bd..5c6b7b2f9e 100644 --- a/src/pretix/presale/templates/pretixpresale/event/index.html +++ b/src/pretix/presale/templates/pretixpresale/event/index.html @@ -271,10 +271,11 @@
{% if var.original_price %} - {{ var.original_price|money:event.currency }} - - {% elif item.original_price %} - {{ item.original_price|money:event.currency }} + {% if event.settings.display_net_prices %} + {{ var.original_price.net|money:event.currency }} + {% else %} + {{ var.original_price.gross|money:event.currency }} + {% endif %} {% endif %} {% if item.free_price %} @@ -386,7 +387,11 @@
{% if item.original_price %} - {{ item.original_price|money:event.currency }} + {% if event.settings.display_net_prices %} + {{ item.original_price.net|money:event.currency }} + {% else %} + {{ item.original_price.gross|money:event.currency }} + {% endif %} {% endif %} {% if item.free_price %} diff --git a/src/pretix/presale/templates/pretixpresale/event/voucher.html b/src/pretix/presale/templates/pretixpresale/event/voucher.html index 66d420cd73..0980719f6b 100644 --- a/src/pretix/presale/templates/pretixpresale/event/voucher.html +++ b/src/pretix/presale/templates/pretixpresale/event/voucher.html @@ -94,10 +94,11 @@
{% if var.original_price %} - {{ var.original_price|money:event.currency }} - - {% elif item.original_price %} - {{ item.original_price|money:event.currency }} + {% if event.settings.display_net_prices %} + {{ var.original_price.net|money:event.currency }} + {% else %} + {{ var.original_price.gross|money:event.currency }} + {% endif %} {% endif %} {% if item.free_price %} @@ -200,7 +201,11 @@
{% if item.original_price %} - {{ item.original_price|money:event.currency }} + {% if event.settings.display_net_prices %} + {{ item.original_price.net|money:event.currency }} + {% else %} + {{ item.original_price.gross|money:event.currency }} + {% endif %} {% endif %} {% if item.free_price %} diff --git a/src/pretix/presale/views/event.py b/src/pretix/presale/views/event.py index 268f894460..80687a8681 100644 --- a/src/pretix/presale/views/event.py +++ b/src/pretix/presale/views/event.py @@ -136,7 +136,13 @@ def get_grouped_items(event, subevent=None, voucher=None, channel='web'): item.display_price = item.tax(price, currency=event.currency, include_bundled=True) if price != original_price: - item.original_price = original_price + item.original_price = item.tax(original_price, currency=event.currency, include_bundled=True) + else: + item.original_price = ( + item.tax(item.original_price, currency=event.currency, include_bundled=True, + base_price_is='net' if event.settings.display_net_prices else 'gross') # backwards-compat + if item.original_price else None + ) display_add_to_cart = display_add_to_cart or item.order_max > 0 else: @@ -165,7 +171,13 @@ def get_grouped_items(event, subevent=None, voucher=None, channel='web'): var.display_price = var.tax(price, currency=event.currency, include_bundled=True) if price != original_price: - var.original_price = original_price + var.original_price = var.tax(original_price, currency=event.currency, include_bundled=True) + else: + var.original_price = ( + var.tax(var.original_price or item.original_price, currency=event.currency, + include_bundled=True, + base_price_is='net' if event.settings.display_net_prices else 'gross') # backwards-compat + ) if var.original_price or item.original_price else None display_add_to_cart = display_add_to_cart or var.order_max > 0 diff --git a/src/pretix/presale/views/widget.py b/src/pretix/presale/views/widget.py index 625f66235d..26e74f71a4 100644 --- a/src/pretix/presale/views/widget.py +++ b/src/pretix/presale/views/widget.py @@ -200,7 +200,12 @@ class WidgetAPIProductList(EventListMixin, View): item.cached_availability[0], item.cached_availability[1] if self.request.event.settings.show_quota_left else None ] if not item.has_variations else None, - 'original_price': item.original_price, + 'original_price': ( + (item.original_price.net + if self.request.event.settings.display_net_prices + else item.original_price.gross) + if item.original_price else None + ), 'variations': [ { 'id': var.id, @@ -208,7 +213,19 @@ class WidgetAPIProductList(EventListMixin, View): 'order_max': var.order_max, 'description': str(rich_text(var.description, safelinks=False)) if var.description else None, 'price': price_dict(item, var.display_price), - 'original_price': getattr(var, 'original_price') or item.original_price, + 'original_price': ( + ( + var.original_price.net + if self.request.event.settings.display_net_prices + else var.original_price.gross + ) if var.original_price else None + ) or ( + ( + item.original_price.net + if self.request.event.settings.display_net_prices + else item.original_price.gross + ) if item.original_price else None + ), 'avail': [ var.cached_availability[0], var.cached_availability[1] if self.request.event.settings.show_quota_left else None