diff options
| author | Jocelyn Delalande <jocelyn@crapouillou.net> | 2018-02-03 18:04:06 +0100 |
|---|---|---|
| committer | Jocelyn Delalande <jocelyn@crapouillou.net> | 2018-02-07 00:01:13 +0100 |
| commit | b1a4572e8c72e1d7f49b07aaeb5be0f3603bf0a7 (patch) | |
| tree | d97e0c6211ca1d408af3e346a60cad1a65ccdca0 /ihatemoney/web.py | |
| parent | 389c7b8bcd2813d8549858265432859259942fd6 (diff) | |
| download | ihatemoney-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.py | 27 |
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', ) |
