diff --git a/src/pretix/control/templates/pretixcontrol/order/index.html b/src/pretix/control/templates/pretixcontrol/order/index.html index 1d1a36e13b..a7d87324ba 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 00b2737c2a..4b8a9c2073 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 3e7f7a56b8..cd94e3c2f7 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 14f442402c..4e56aa8518 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 8306ed31f8..0d295978e1 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 c36cb136cf..6edb686166 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); }