From d6cf89008fdb5e40395d3ccc879db2255f13e461 Mon Sep 17 00:00:00 2001 From: Baptiste Jonglez Date: Mon, 2 Jan 2017 14:55:48 +0100 Subject: [PATCH] Workaround rounding issues when displaying balance of users A user with a "0.00" balance would have either a "+0.00" in green or a "-0.00" in red, depending on the exact value of the floating-point value. Fix this by simply rounding to 2 digits before comparing to zero. --- budget/templates/list_bills.html | 6 +++--- budget/templates/settle_bills.html | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/budget/templates/list_bills.html b/budget/templates/list_bills.html index f081334..72b9032 100644 --- a/budget/templates/list_bills.html +++ b/budget/templates/list_bills.html @@ -65,7 +65,7 @@
{% set balance = g.project.balance %} - {% for member in g.project.members | sort(attribute='name') if member.activated or balance[member.id] != 0 %} + {% for member in g.project.members | sort(attribute='name') if member.activated or balance[member.id]|round(2) != 0 %} {% endif %} - {% endfor %} diff --git a/budget/templates/settle_bills.html b/budget/templates/settle_bills.html index 4066b16..16c60b3 100644 --- a/budget/templates/settle_bills.html +++ b/budget/templates/settle_bills.html @@ -11,11 +11,11 @@
{{ member.name }} (x{{ member.weight|minimal_round(1) }}) @@ -82,8 +82,8 @@
- {% if balance[member.id] > 0 %}+{% endif %}{{ "%.2f" | format(balance[member.id]) }} + + {% if balance[member.id]|round(2) > 0 %}+{% endif %}{{ "%.2f" | format(balance[member.id]) }}
{% set balance = g.project.balance %} - {% for member in g.project.members | sort(attribute='name') if member.activated or balance[member.id] != 0 %} + {% for member in g.project.members | sort(attribute='name') if member.activated or balance[member.id]|round(2) != 0 %} - {% endfor %}
{{ member.name }} - {% if balance[member.id] > 0 %}+{% endif %}{{ "%.2f" | format(balance[member.id]) }} + + {% if balance[member.id]|round(2) > 0 %}+{% endif %}{{ "%.2f" | format(balance[member.id]) }}