]> asedeno.scripts.mit.edu Git - bluechips.git/blob - bluechips/controllers/history.py
Added UI for working with tags
[bluechips.git] / bluechips / controllers / history.py
1 """
2 Display old transactions
3 """
4
5 import logging
6 from pylons import request
7
8 from bluechips.lib.base import *
9 from bluechips.lib.totals import *
10
11 import sqlalchemy as sa
12 from sqlalchemy import orm
13
14 log = logging.getLogger(__name__)
15
16 class HistoryController(BaseController):
17     def index(self):
18         c.title = 'History'
19         
20         c.tags = meta.Session.query(model.Tag).order_by([sa.func.lower(model.Tag.name)])
21         c.expenditures = meta.Session.query(model.Expenditure).\
22                 options(orm.eagerload('splits')).all()
23         c.transfers = meta.Session.query(model.Transfer).all()
24
25         return render('/history/index.mako')
26
27
28     def tag(self, id=None):
29         c.title = 'History'
30
31         c.tags = meta.Session.query(model.Tag).order_by([sa.func.lower(model.Tag.name)])
32         c.tag = meta.Session.query(model.Tag).filter_by(id=id).all()[0]
33         c.expenditures = c.tag.expenditures
34         c.total = sum([e.amount for e in c.expenditures])
35         c.share = sum([e.share(request.environ['user']) for e in c.expenditures])
36
37         return render('/history/tag.mako')