diff --git a/src/pretix/control/templates/pretixcontrol/order/index.html b/src/pretix/control/templates/pretixcontrol/order/index.html
index 1d1a36e13..a7d87324b 100644
--- a/src/pretix/control/templates/pretixcontrol/order/index.html
+++ b/src/pretix/control/templates/pretixcontrol/order/index.html
@@ -330,7 +330,7 @@
{% if line.tax_rate %}
- {% blocktrans trimmed with rate=line.tax_rate taxname=line.tax_rule.name|default:s_taxes %}
+ {% blocktrans trimmed with rate=line.tax_rate|floatformat:-2 taxname=line.tax_rule.name|default:s_taxes %}
plus {{ rate }}% {{ taxname }}
{% endblocktrans %}
@@ -340,7 +340,7 @@
{% if line.tax_rate and line.price %}
- {% blocktrans trimmed with rate=line.tax_rate taxname=line.tax_rule.name|default:s_taxes %}
+ {% blocktrans trimmed with rate=line.tax_rate|floatformat:-2 taxname=line.tax_rule.name|default:s_taxes %}
incl. {{ rate }}% {{ taxname }}
{% endblocktrans %}
@@ -364,7 +364,7 @@
{% if fee.tax_rate %}
- {% blocktrans trimmed with rate=fee.tax_rate taxname=fee.tax_rule.name|default:s_taxes %}
+ {% blocktrans trimmed with rate=fee.tax_rate|floatformat:-2 taxname=fee.tax_rule.name|default:s_taxes %}
plus {{ rate }}% {{ taxname }}
{% endblocktrans %}
@@ -374,7 +374,7 @@
{% if fee.tax_rate %}
- {% blocktrans trimmed with rate=fee.tax_rate taxname=fee.tax_rule.name|default:s_taxes %}
+ {% blocktrans trimmed with rate=fee.tax_rate|floatformat:-2 taxname=fee.tax_rule.name|default:s_taxes %}
incl. {{ rate }}% {{ taxname }}
{% endblocktrans %}
diff --git a/src/pretix/presale/templates/pretixpresale/event/fragment_cart.html b/src/pretix/presale/templates/pretixpresale/event/fragment_cart.html
index 00b2737c2..4b8a9c207 100644
--- a/src/pretix/presale/templates/pretixpresale/event/fragment_cart.html
+++ b/src/pretix/presale/templates/pretixpresale/event/fragment_cart.html
@@ -132,7 +132,7 @@
{% if line.tax_rate and line.total %}
- {% blocktrans trimmed with rate=line.tax_rate taxname=line.tax_rule.name|default:s_taxes %}
+ {% blocktrans trimmed with rate=line.tax_rate|floatformat:-2 taxname=line.tax_rule.name|default:s_taxes %}
plus {{ rate }}% {{ taxname }}
{% endblocktrans %}
@@ -142,7 +142,7 @@
{% if line.tax_rate and line.total %}
- {% blocktrans trimmed with rate=line.tax_rate taxname=line.tax_rule.name|default:s_taxes %}
+ {% blocktrans trimmed with rate=line.tax_rate|floatformat:-2 taxname=line.tax_rule.name|default:s_taxes %}
incl. {{ rate }}% {{ taxname }}
{% endblocktrans %}
@@ -179,7 +179,7 @@
{% if fee.tax_rate %}
- {% blocktrans trimmed with rate=fee.tax_rate taxname=fee.tax_rule.name|default:s_taxes %}
+ {% blocktrans trimmed with rate=fee.tax_rate|floatformat:-2 taxname=fee.tax_rule.name|default:s_taxes %}
plus {{ rate }}% {{ taxname }}
{% endblocktrans %}
@@ -189,7 +189,7 @@
{% if fee.tax_rate %}
- {% blocktrans trimmed with rate=fee.tax_rate taxname=fee.tax_rule.name|default:s_taxes %}
+ {% blocktrans trimmed with rate=fee.tax_rate|floatformat:-2 taxname=fee.tax_rule.name|default:s_taxes %}
incl. {{ rate }}% {{ taxname }}
{% endblocktrans %}
diff --git a/src/pretix/presale/templates/pretixpresale/event/index.html b/src/pretix/presale/templates/pretixpresale/event/index.html
index 3e7f7a56b..cd94e3c2f 100644
--- a/src/pretix/presale/templates/pretixpresale/event/index.html
+++ b/src/pretix/presale/templates/pretixpresale/event/index.html
@@ -294,11 +294,11 @@
{% endif %}
{% if var.display_price.rate and var.display_price.gross and event.settings.display_net_prices %}
- {% blocktrans trimmed with rate=var.display_price.rate name=var.display_price.name %}
+ {% 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 name=var.display_price.name %}
+ {% blocktrans trimmed with rate=var.display_price.rate|floatformat:-2 name=var.display_price.name %}
incl. {{ rate }}% {{ name }}
{% endblocktrans %}
{% endif %}
@@ -398,11 +398,11 @@
{% endif %}
{% if item.display_price.rate and item.display_price.gross and event.settings.display_net_prices %}
- {% blocktrans trimmed with rate=item.display_price.rate name=item.display_price.name %}
+ {% 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 name=item.display_price.name %}
+ {% 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 14f442402..4e56aa851 100644
--- a/src/pretix/presale/templates/pretixpresale/event/voucher.html
+++ b/src/pretix/presale/templates/pretixpresale/event/voucher.html
@@ -113,12 +113,12 @@
{{ var.display_price.gross|money:event.currency }}
{% endif %}
{% if var.display_price.rate and var.display_price.gross and event.settings.display_net_prices %}
- {% blocktrans trimmed with rate=var.display_price.rate name=var.display_price.name %}
- plus {{ rate }}% taxes
+ {% 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 name=var.display_price.name %}
- incl. {{ rate }}% taxes
+ {% blocktrans trimmed with rate=var.display_price.rate|floatformat:-2 name=var.display_price.name %}
+ incl. {{ rate }}% {{ name }}
{% endblocktrans %}
{% endif %}
@@ -190,11 +190,11 @@
{{ item.display_price.gross|money:event.currency }}
{% endif %}
{% if item.display_price.rate and item.display_price.gross and event.settings.display_net_prices %}
- {% blocktrans trimmed with rate=item.display_price.rate name=item.display_price.name %}
+ {% 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 name=item.display_price.name %}
+ {% 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/static/pretixpresale/js/widget/floatformat.js b/src/pretix/static/pretixpresale/js/widget/floatformat.js
index 8306ed31f..0d295978e 100644
--- a/src/pretix/static/pretixpresale/js/widget/floatformat.js
+++ b/src/pretix/static/pretixpresale/js/widget/floatformat.js
@@ -19,7 +19,19 @@ var floatformat = function (val, places) {
val = parseFloat(val);
}
var parts = roundTo(val, places).toFixed(places).split(".");
-
+ if (places === 0) {
+ return parts[0];
+ }
parts[0] = parts[0].replace(new RegExp("\\B(?=(\\d{" + django.get_format("NUMBER_GROUPING") + "})+(?!\\d))", "g"), django.get_format("THOUSAND_SEPARATOR"));
return parts[0] + django.get_format("DECIMAL_SEPARATOR") + parts[1];
};
+
+
+var autofloatformat = function (val, places) {
+ "use strict";
+ console.log(val, roundTo(val, 0))
+ if (val == roundTo(val, 0)) {
+ places = 0;
+ }
+ return floatformat(val, places);
+};
diff --git a/src/pretix/static/pretixpresale/js/widget/widget.js b/src/pretix/static/pretixpresale/js/widget/widget.js
index c36cb136c..6edb68616 100644
--- a/src/pretix/static/pretixpresale/js/widget/widget.js
+++ b/src/pretix/static/pretixpresale/js/widget/widget.js
@@ -232,12 +232,12 @@ Vue.component('pricebox', {
taxline: function () {
if (this.$root.display_net_prices) {
return django.interpolate(strings.tax_plus, {
- 'rate': floatformat(this.price.rate, 2),
+ 'rate': autofloatformat(this.price.rate, 2),
'taxname': this.price.name
}, true);
} else {
return django.interpolate(strings.tax_incl, {
- 'rate': floatformat(this.price.rate, 2),
+ 'rate': autofloatformat(this.price.rate, 2),
'taxname': this.price.name
}, true);
}