From 0d7c82b12267ed3a9ece1ca72a71cea077e9cc0f Mon Sep 17 00:00:00 2001 From: "A.Avenel" Date: Sun, 7 Apr 2013 22:14:32 +0200 Subject: [PATCH] More code cleanup for "settle bills" --- budget/models.py | 8 ++++---- budget/templates/settle_bills.html | 4 ++-- budget/tests.py | 4 ++-- budget/web.py | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/budget/models.py b/budget/models.py index 1f3fa4f8..49c3eb4f 100644 --- a/budget/models.py +++ b/budget/models.py @@ -49,7 +49,7 @@ class Project(db.Model): return balances - def settle_bills(self): + def get_transactions_to_settle_bill(self): """Return a list of transactions that could be made to settle the bill""" credits, debts, transactions = [],[],[] # Create lists of credits and debts @@ -63,17 +63,17 @@ class Project(db.Model): match = self.exactmatch(credit["balance"], debts) if match: for m in match: - transactions.append({"ower": m["person"], "payer": credit["person"], "amount": m["balance"]}) + transactions.append({"ower": m["person"], "receiver": credit["person"], "amount": m["balance"]}) debts.remove(m) credits.remove(credit) # Split any remaining debts & credits while credits and debts: if credits[0]["balance"] > debts[0]["balance"]: - transactions.append({"ower": debts[0]["person"], "payer": credits[0]["person"], "amount": debts[0]["balance"]}) + transactions.append({"ower": debts[0]["person"], "receiver": credits[0]["person"], "amount": debts[0]["balance"]}) credits[0]["balance"] = credits[0]["balance"] - debts[0]["balance"] del debts[0] else: - transactions.append({"ower": debts[0]["person"], "payer": credits[0]["person"], "amount": credits[0]["balance"]}) + transactions.append({"ower": debts[0]["person"], "receiver": credits[0]["person"], "amount": credits[0]["balance"]}) debts[0]["balance"] = debts[0]["balance"] - credits[0]["balance"] del credits[0] return transactions diff --git a/budget/templates/settle_bills.html b/budget/templates/settle_bills.html index 309642a5..e2041f56 100644 --- a/budget/templates/settle_bills.html +++ b/budget/templates/settle_bills.html @@ -34,9 +34,9 @@ {{ _("Who pays?") }}{{ _("To whom?") }}{{ _("How much?") }} {% for bill in bills %} - + {{ bill.ower }} - {{ bill.payer }} + {{ bill.receiver }} {{ "%0.2f"|format(bill.amount) }} {% endfor %} diff --git a/budget/tests.py b/budget/tests.py index 983b3529..901924b8 100644 --- a/budget/tests.py +++ b/budget/tests.py @@ -510,12 +510,12 @@ class BudgetTestCase(TestCase): 'amount': '10', }) project = models.Project.query.get('raclette') - transactions = project.settle_bills() + transactions = project.get_transactions_to_settle_bill() members = defaultdict(int) #We should have the same values between transactions and project balances for t in transactions: members[t['ower']]-=t['amount'] - members[t['payer']]+=t['amount'] + members[t['receiver']]+=t['amount'] balance = models.Project.query.get("raclette").balance for m, a in members.items(): self.assertEqual(a, balance[m.id]) diff --git a/budget/web.py b/budget/web.py index f9755873..3125f9b9 100644 --- a/budget/web.py +++ b/budget/web.py @@ -386,7 +386,7 @@ def change_lang(lang): @main.route("//settle_bills") def settle_bill(): """Compute the sum each one have to pay to each other and display it""" - bills = g.project.settle_bills() + bills = g.project.get_transactions_to_settle_bill() return render_template("settle_bills.html", bills=bills)