diff options
| author | Jocelyn Delande <jocelyn@crapouillou.net> | 2015-08-20 13:45:53 +0200 |
|---|---|---|
| committer | Jocelyn Delande <jocelyn@crapouillou.net> | 2016-06-15 10:20:37 +0200 |
| commit | 85abc0b1fcbee6549425fad87b3cdd55669672d2 (patch) | |
| tree | 1cc49e4bd911339073df8fbf47ea61bde44dc476 | |
| parent | b57df5cd368eca946e5699237a954d37fb342b07 (diff) | |
| download | ihatemoney-mirror-85abc0b1fcbee6549425fad87b3cdd55669672d2.zip ihatemoney-mirror-85abc0b1fcbee6549425fad87b3cdd55669672d2.tar.gz ihatemoney-mirror-85abc0b1fcbee6549425fad87b3cdd55669672d2.tar.bz2 | |
Added a template filter not to show zero decimals on user weights
| -rw-r--r-- | budget/run.py | 5 | ||||
| -rw-r--r-- | budget/templates/list_bills.html | 2 | ||||
| -rw-r--r-- | budget/utils.py | 14 |
3 files changed, 20 insertions, 1 deletions
diff --git a/budget/run.py b/budget/run.py index 51670f2..807ad12 100644 --- a/budget/run.py +++ b/budget/run.py @@ -9,6 +9,8 @@ from raven.contrib.flask import Sentry from web import main, db, mail from api import api from utils import PrefixedWSGI +from utils import minimal_round + app = Flask(__name__) @@ -37,6 +39,9 @@ configure() app.register_blueprint(main) app.register_blueprint(api) +# custom jinja2 filters +app.jinja_env.filters['minimal_round'] = minimal_round + # db db.init_app(app) db.app = app diff --git a/budget/templates/list_bills.html b/budget/templates/list_bills.html index b0ec89a..1d8e922 100644 --- a/budget/templates/list_bills.html +++ b/budget/templates/list_bills.html @@ -63,7 +63,7 @@ {% set balance = g.project.balance %} {% for member in g.project.members | sort(attribute='name') if member.activated or balance[member.id] != 0 %} <tr id="bal-member-{{ member.id }}" action={% if member.activated %}delete{% else %}reactivate{% endif %}> - <td class="balance-name">{{ member.name }} <span class="light">(x{{ member.weight }})</span></td> + <td class="balance-name">{{ member.name }} <span class="light">(x{{ member.weight|minimal_round(1) }})</span></td> {% if member.activated %} <td> <form class="action delete" action="{{ url_for(".remove_member", member_id=member.id) }}" method="POST"> diff --git a/budget/utils.py b/budget/utils.py index 7717aaa..c849af0 100644 --- a/budget/utils.py +++ b/budget/utils.py @@ -1,6 +1,7 @@ import re import inspect +from jinja2 import filters from flask import redirect from werkzeug.routing import HTTPException, RoutingException @@ -63,3 +64,16 @@ class PrefixedWSGI(object): if scheme: environ['wsgi.url_scheme'] = scheme return self.wsgi_app(environ, start_response) + + +def minimal_round(*args, **kw): + """ Jinja2 filter: rounds, but display only non-zero decimals + + from http://stackoverflow.com/questions/28458524/ + """ + # Use the original round filter, to deal with the extra arguments + res = filters.do_round(*args, **kw) + # Test if the result is equivalent to an integer and + # return depending on it + ires = int(res) + return (res if res != ires else ires) |
