From da1f93fdb5d86f642018933a5ef51949b28a8125 Mon Sep 17 00:00:00 2001 From: Scott Torborg Date: Thu, 5 Nov 2009 17:17:29 -1000 Subject: [PATCH] fixed split display so that it works with zero-value expenditures --- bluechips/controllers/spend.py | 13 +++++++++++++ bluechips/templates/spend/index.mako | 13 ++----------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/bluechips/controllers/spend.py b/bluechips/controllers/spend.py index 45db96d..c99d325 100644 --- a/bluechips/controllers/spend.py +++ b/bluechips/controllers/spend.py @@ -67,6 +67,19 @@ class SpendController(BaseController): c.expenditure = meta.Session.query(model.Expenditure).get(id) if c.expenditure is None: abort(404) + c.values = {} + for ii, user_row in enumerate(c.users): + user_id, user = user_row + try: + share = [s.share for s in c.expenditure.splits + if s.user == user][0] + percent = (Decimal(100) * Decimal(int(share)) / + Decimal(int(c.expenditure.amount))).\ + quantize(Decimal("0.001")) + except IndexError: + percent = 0 + c.values['shares-%d.amount' % ii] = percent + return render('/spend/index.mako') @validate(schema=ExpenditureSchema(), form='edit', variable_decode=True) diff --git a/bluechips/templates/spend/index.mako b/bluechips/templates/spend/index.mako index dc2f606..25f1db2 100644 --- a/bluechips/templates/spend/index.mako +++ b/bluechips/templates/spend/index.mako @@ -30,19 +30,10 @@ % for ii, user_row in enumerate(c.users): <% user_id, user = user_row - try: - percent = c.values['shares-%d.amount' % ii] - except TypeError: - try: - share = [s.share for s in c.expenditure.splits if s.user == user][0] - percent = (Decimal(100) * Decimal(int(share)) / Decimal(int(c.expenditure.amount))).quantize(Decimal("0.001")) - except IndexError: - percent = 0 + percent = c.values['shares-%d.amount' % ii] %> - - - + ${h.text('shares-%d.amount' % ii, percent)} ${h.hidden('shares-%d.user_id' % ii, user.id)} -- 2.45.2