X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=bluechips%2Fcontrollers%2Fstatus.py;h=f3373ddc398ba93fcb3c6ebbc512d80be532189a;hb=3b864c81e804769f2be45b38c319895d1735aef9;hp=37992e59964d7b9d077644e56624b662c82c7bdc;hpb=6811597bfdbf2dfb83694c34655066a98e7915cd;p=bluechips.git diff --git a/bluechips/controllers/status.py b/bluechips/controllers/status.py index 37992e5..f3373dd 100644 --- a/bluechips/controllers/status.py +++ b/bluechips/controllers/status.py @@ -10,7 +10,10 @@ 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 log = logging.getLogger(__name__) @@ -19,8 +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) @@ -36,10 +38,19 @@ class StatusController(BaseController): model.expenditures.c.date >= last_month, model.expenditures.c.date < this_month)) + c.expenditures = meta.Session.query(model.Expenditure).\ + 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'])).\ + 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)