X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=bluechips%2Fcontrollers%2Fhistory.py;h=c3374dc77e3ea0af969519a525113d3a6ba17c75;hb=fed6d11d2cbd6d617d18bc01a78196865da4155b;hp=e0a501b8f38edd5139afe90321979ff3a2d99dcc;hpb=9b0db4bbe905453c242a39632399a8205db1f538;p=bluechips.git diff --git a/bluechips/controllers/history.py b/bluechips/controllers/history.py index e0a501b..c3374dc 100644 --- a/bluechips/controllers/history.py +++ b/bluechips/controllers/history.py @@ -3,11 +3,13 @@ Display old transactions """ import logging +from pylons import request from bluechips.lib.base import * from bluechips.lib.totals import * -import sqlalchemy +import sqlalchemy as sa +from sqlalchemy import orm log = logging.getLogger(__name__) @@ -15,7 +17,21 @@ class HistoryController(BaseController): def index(self): c.title = 'History' - c.expenditures = meta.Session.query(model.Expenditure).all() + c.tags = meta.Session.query(model.Tag).order_by([sa.func.lower(model.Tag.name)]) + c.expenditures = meta.Session.query(model.Expenditure).\ + options(orm.eagerload('splits')).all() c.transfers = meta.Session.query(model.Transfer).all() - + return render('/history/index.mako') + + + def tag(self, id=None): + c.title = 'History' + + c.tags = meta.Session.query(model.Tag).order_by([sa.func.lower(model.Tag.name)]) + c.tag = meta.Session.query(model.Tag).filter_by(id=id).all()[0] + c.expenditures = c.tag.expenditures + c.total = sum([e.amount for e in c.expenditures]) + c.share = sum([e.share(request.environ['user']) for e in c.expenditures]) + + return render('/history/tag.mako')