X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=bluechips%2Fcontrollers%2Fstatus.py;h=f3373ddc398ba93fcb3c6ebbc512d80be532189a;hb=3b864c81e804769f2be45b38c319895d1735aef9;hp=cba63e394a09e039ea948659f4550f3b8ebc2670;hpb=46b297349fdb6313d34a4128caf6e5b64b57bfa8;p=bluechips.git diff --git a/bluechips/controllers/status.py b/bluechips/controllers/status.py index cba63e3..f3373dd 100644 --- a/bluechips/controllers/status.py +++ b/bluechips/controllers/status.py @@ -10,7 +10,8 @@ from bluechips.lib.totals import * import sqlalchemy from datetime import date, timedelta -from decimal import Decimal + +from bluechips.model.types import Currency from pylons import request @@ -21,7 +22,7 @@ class StatusController(BaseController): c.debts = debts() c.settle = settle(c.debts) - c.total = self._total(True) + c.total = self._total(sqlalchemy.text('1=1')) year = date.today() - timedelta(days=365) this_year = date.today().replace(month=1, day=1) @@ -38,16 +39,18 @@ class StatusController(BaseController): model.expenditures.c.date < this_month)) c.expenditures = meta.Session.query(model.Expenditure).\ - filter(model.Expenditure.spender==request.environ['user']).all() + filter(model.Expenditure.spender==request.environ['user']).\ + limit(10).all() c.transfers = meta.Session.query(model.Transfer).\ filter(sqlalchemy.or_( model.Transfer.debtor==request.environ['user'], - model.Transfer.creditor==request.environ['user'])).all() + model.Transfer.creditor==request.environ['user'])).\ + limit(10).all() return render('/status/index.mako') def _total(self, where): - return (meta.Session.execute(sqlalchemy.sql.select([ + return Currency(meta.Session.execute(sqlalchemy.sql.select([ sqlalchemy.func.sum(model.expenditures.c.amount).\ label('total')]).\ - where(where)).scalar() or Decimal("0.00")) / 100 + where(where)).scalar() or 0)