aboutsummaryrefslogtreecommitdiff
path: root/ihatemoney/web.py
diff options
context:
space:
mode:
authorJocelyn Delalande <jocelyn@crapouillou.net>2018-02-03 18:04:06 +0100
committerJocelyn Delalande <jocelyn@crapouillou.net>2018-02-07 00:01:13 +0100
commitb1a4572e8c72e1d7f49b07aaeb5be0f3603bf0a7 (patch)
treed97e0c6211ca1d408af3e346a60cad1a65ccdca0 /ihatemoney/web.py
parent389c7b8bcd2813d8549858265432859259942fd6 (diff)
downloadihatemoney-mirror-b1a4572e8c72e1d7f49b07aaeb5be0f3603bf0a7.zip
ihatemoney-mirror-b1a4572e8c72e1d7f49b07aaeb5be0f3603bf0a7.tar.gz
ihatemoney-mirror-b1a4572e8c72e1d7f49b07aaeb5be0f3603bf0a7.tar.bz2
Change statistics data structure
Clearer data structure, and simpler template This commit has a side effect: sidebar now hides disabled members. IMHO, the disabled members should either be hidden or shown consistently between sidebar and central table. Previous status was: shown in sidebar (if balance ≠ 0) and hidden in central table.
Diffstat (limited to 'ihatemoney/web.py')
-rw-r--r--ihatemoney/web.py27
1 files changed, 14 insertions, 13 deletions
diff --git a/ihatemoney/web.py b/ihatemoney/web.py
index 6b1b358..85b02e5 100644
--- a/ihatemoney/web.py
+++ b/ihatemoney/web.py
@@ -566,21 +566,22 @@ def settle_bill():
@main.route("/<project_id>/statistics")
def statistics():
"""Compute what each member has paid and spent and display it"""
- members = g.project.active_members
- balance = g.project.balance
- paid = {}
- spent = {}
- for member in members:
- paid[member.id] = sum([bill.amount
- for bill in g.project.get_member_bills(member.id).all()])
- spent[member.id] = sum([bill.pay_each() * member.weight
- for bill in g.project.get_bills().all() if member in bill.owers])
+ members_stats = [{
+ 'member': member,
+ 'paid': sum([
+ bill.amount
+ for bill in g.project.get_member_bills(member.id).all()
+ ]),
+ 'spent': sum([
+ bill.pay_each() * member.weight
+ for bill in g.project.get_bills().all() if member in bill.owers
+ ]),
+ 'balance': g.project.balance[member.id]
+ } for member in g.project.active_members]
+
return render_template(
"statistics.html",
- members=members,
- balance=balance,
- paid=paid,
- spent=spent,
+ members_stats=members_stats,
current_view='statistics',
)