From 76c6bd57e96c668a36251afadcb443b3724704d6 Mon Sep 17 00:00:00 2001
From: Raphael Michel
Date: Mon, 24 Apr 2023 13:55:17 +0200
Subject: [PATCH] Add tooltip to prices with tax calculation (#3244)
---
.../event/fragment_product_list.html | 32 ++++++++++-------
.../pretixpresale/event/voucher.html | 34 ++++++++++++-------
src/tests/presale/test_event.py | 15 ++++----
3 files changed, 50 insertions(+), 31 deletions(-)
diff --git a/src/pretix/presale/templates/pretixpresale/event/fragment_product_list.html b/src/pretix/presale/templates/pretixpresale/event/fragment_product_list.html
index 8d7182beb..0309e0306 100644
--- a/src/pretix/presale/templates/pretixpresale/event/fragment_product_list.html
+++ b/src/pretix/presale/templates/pretixpresale/event/fragment_product_list.html
@@ -163,13 +163,17 @@
{% trans "incl. taxes" %}
{% endif %}
{% elif var.display_price.rate and var.display_price.gross and event.settings.display_net_prices %}
- {% blocktrans trimmed with rate=var.display_price.rate|floatformat:-2 name=var.display_price.name %}
- plus {{ rate }}% {{ name }}
- {% endblocktrans %}
+
+ {% blocktrans trimmed with rate=var.display_price.rate|floatformat:-2 name=var.display_price.name %}
+ plus {{ rate }}% {{ name }}
+ {% endblocktrans %}
+
{% elif var.display_price.rate and var.display_price.gross %}
- {% blocktrans trimmed with rate=var.display_price.rate|floatformat:-2 name=var.display_price.name %}
- incl. {{ rate }}% {{ name }}
- {% endblocktrans %}
+
+ {% blocktrans trimmed with rate=var.display_price.rate|floatformat:-2 name=var.display_price.name %}
+ incl. {{ rate }}% {{ name }}
+ {% endblocktrans %}
+
{% endif %}
@@ -297,13 +301,17 @@
{% trans "incl. taxes" %}
{% endif %}
{% elif item.display_price.rate and item.display_price.gross and event.settings.display_net_prices %}
- {% blocktrans trimmed with rate=item.display_price.rate|floatformat:-2 name=item.display_price.name %}
- plus {{ rate }}% {{ name }}
- {% endblocktrans %}
+
+ {% blocktrans trimmed with rate=item.display_price.rate|floatformat:-2 name=item.display_price.name %}
+ plus {{ rate }}% {{ name }}
+ {% endblocktrans %}
+
{% elif item.display_price.rate and item.display_price.gross %}
- {% blocktrans trimmed with rate=item.display_price.rate|floatformat:-2 name=item.display_price.name %}
- incl. {{ rate }}% {{ name }}
- {% endblocktrans %}
+
+ {% blocktrans trimmed with rate=item.display_price.rate|floatformat:-2 name=item.display_price.name %}
+ incl. {{ rate }}% {{ name }}
+ {% endblocktrans %}
+
{% endif %}
diff --git a/src/pretix/presale/templates/pretixpresale/event/voucher.html b/src/pretix/presale/templates/pretixpresale/event/voucher.html
index 1c7e3c249..6c8d59b97 100644
--- a/src/pretix/presale/templates/pretixpresale/event/voucher.html
+++ b/src/pretix/presale/templates/pretixpresale/event/voucher.html
@@ -225,13 +225,17 @@
{% trans "incl. taxes" %}
{% endif %}
{% elif var.display_price.rate and var.display_price.gross and event.settings.display_net_prices %}
- {% blocktrans trimmed with rate=var.display_price.rate|floatformat:-2 name=var.display_price.name %}
- plus {{ rate }}% {{ name }}
- {% endblocktrans %}
+
+ {% blocktrans trimmed with rate=var.display_price.rate|floatformat:-2 name=var.display_price.name %}
+ plus {{ rate }}% {{ name }}
+ {% endblocktrans %}
+
{% elif var.display_price.rate and var.display_price.gross %}
- {% blocktrans trimmed with rate=var.display_price.rate|floatformat:-2 name=var.display_price.name %}
- incl. {{ rate }}% {{ name }}
- {% endblocktrans %}
+
+ {% blocktrans trimmed with rate=var.display_price.rate|floatformat:-2 name=var.display_price.name %}
+ incl. {{ rate }}% {{ name }}
+ {% endblocktrans %}
+
{% endif %}
@@ -359,13 +363,17 @@
{% trans "incl. taxes" %}
{% endif %}
{% elif item.display_price.rate and item.display_price.gross and event.settings.display_net_prices %}
- {% blocktrans trimmed with rate=item.display_price.rate|floatformat:-2 name=item.display_price.name %}
- plus {{ rate }}% {{ name }}
- {% endblocktrans %}
- {% elif item.display_price.rate and item.display_price.gross%}
- {% blocktrans trimmed with rate=item.display_price.rate|floatformat:-2 name=item.display_price.name %}
- incl. {{ rate }}% {{ name }}
- {% endblocktrans %}
+
+ {% blocktrans trimmed with rate=item.display_price.rate|floatformat:-2 name=item.display_price.name %}
+ plus {{ rate }}% {{ name }}
+ {% endblocktrans %}
+
+ {% elif item.display_price.rate and item.display_price.gross %}
+
+ {% blocktrans trimmed with rate=item.display_price.rate|floatformat:-2 name=item.display_price.name %}
+ incl. {{ rate }}% {{ name }}
+ {% endblocktrans %}
+
{% endif %}
diff --git a/src/tests/presale/test_event.py b/src/tests/presale/test_event.py
index 9346ad38a..9b06f8d20 100644
--- a/src/tests/presale/test_event.py
+++ b/src/tests/presale/test_event.py
@@ -38,6 +38,7 @@ import re
from decimal import Decimal
from json import loads
+from bs4 import BeautifulSoup
from django.conf import settings
from django.core import mail
from django.core.exceptions import ValidationError
@@ -422,13 +423,15 @@ class ItemDisplayTest(EventTestMixin, SoupTest):
SubEventItem.objects.create(subevent=se1, item=item, price=12)
resp = self.client.get('/%s/%s/%d/' % (self.orga.slug, self.event.slug, se1.pk))
- self.assertIn("10.08", resp.rendered_content)
- self.assertNotIn("12.00", resp.rendered_content)
- self.assertNotIn("15.00", resp.rendered_content)
+ doc = BeautifulSoup(resp.rendered_content, "lxml")
+ self.assertIn("10.08", doc.text)
+ self.assertNotIn("12.00", doc.text)
+ self.assertNotIn("15.00", doc.text)
resp = self.client.get('/%s/%s/%d/' % (self.orga.slug, self.event.slug, se2.pk))
- self.assertIn("12.61", resp.rendered_content)
- self.assertNotIn("12.00", resp.rendered_content)
- self.assertNotIn("15.00", resp.rendered_content)
+ doc = BeautifulSoup(resp.rendered_content, "lxml")
+ self.assertIn("12.61", doc.text)
+ self.assertNotIn("12.00", doc.text)
+ self.assertNotIn("15.00", doc.text)
def test_variations_subevent_disabled(self):
self.event.has_subevents = True