]> asedeno.scripts.mit.edu Git - bluechips.git/commitdiff
fixed split display so that it works with zero-value expenditures
authorScott Torborg <scott@crookedmedia.com>
Fri, 6 Nov 2009 03:17:29 +0000 (17:17 -1000)
committerScott Torborg <scott@crookedmedia.com>
Fri, 6 Nov 2009 03:17:29 +0000 (17:17 -1000)
bluechips/controllers/spend.py
bluechips/templates/spend/index.mako

index 45db96de46c90cd91907803d3c96fa708276ad76..c99d325ba10984b2fd1da0a508cf9479668ca8b3 100644 (file)
@@ -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)
index dc2f606070dd8a4cd8164164092674fd23ab16d7..25f1db2c432683a70f76ccf02136ded4fb043174 100644 (file)
     % 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]
       %>
       <tr>
-        <th>
-          <label for="shares-${ii}amount">${user.name}</label>
-        </th>
+        <th><label for="shares-${ii}amount">${user.name}</label></th>
         <td>
           ${h.text('shares-%d.amount' % ii, percent)}
           ${h.hidden('shares-%d.user_id' % ii, user.id)}