mirror of
https://github.com/YunoHost-Apps/ihatemoney_ynh.git
synced 2024-09-03 19:26:15 +02:00
Added a template filter not to show zero decimals on user weights
This commit is contained in:
parent
b57df5cd36
commit
85abc0b1fc
3 changed files with 20 additions and 1 deletions
|
@ -9,6 +9,8 @@ from raven.contrib.flask import Sentry
|
||||||
from web import main, db, mail
|
from web import main, db, mail
|
||||||
from api import api
|
from api import api
|
||||||
from utils import PrefixedWSGI
|
from utils import PrefixedWSGI
|
||||||
|
from utils import minimal_round
|
||||||
|
|
||||||
|
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
|
|
||||||
|
@ -37,6 +39,9 @@ configure()
|
||||||
app.register_blueprint(main)
|
app.register_blueprint(main)
|
||||||
app.register_blueprint(api)
|
app.register_blueprint(api)
|
||||||
|
|
||||||
|
# custom jinja2 filters
|
||||||
|
app.jinja_env.filters['minimal_round'] = minimal_round
|
||||||
|
|
||||||
# db
|
# db
|
||||||
db.init_app(app)
|
db.init_app(app)
|
||||||
db.app = app
|
db.app = app
|
||||||
|
|
|
@ -63,7 +63,7 @@
|
||||||
{% set balance = g.project.balance %}
|
{% 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] != 0 %}
|
||||||
<tr id="bal-member-{{ member.id }}" action={% if member.activated %}delete{% else %}reactivate{% endif %}>
|
<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 %}
|
{% if member.activated %}
|
||||||
<td>
|
<td>
|
||||||
<form class="action delete" action="{{ url_for(".remove_member", member_id=member.id) }}" method="POST">
|
<form class="action delete" action="{{ url_for(".remove_member", member_id=member.id) }}" method="POST">
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import re
|
import re
|
||||||
import inspect
|
import inspect
|
||||||
|
|
||||||
|
from jinja2 import filters
|
||||||
from flask import redirect
|
from flask import redirect
|
||||||
from werkzeug.routing import HTTPException, RoutingException
|
from werkzeug.routing import HTTPException, RoutingException
|
||||||
|
|
||||||
|
@ -63,3 +64,16 @@ class PrefixedWSGI(object):
|
||||||
if scheme:
|
if scheme:
|
||||||
environ['wsgi.url_scheme'] = scheme
|
environ['wsgi.url_scheme'] = scheme
|
||||||
return self.wsgi_app(environ, start_response)
|
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)
|
||||||
|
|
Loading…
Reference in a new issue