]> asedeno.scripts.mit.edu Git - bluechips.git/blob - bluechips/controllers/spend.py
Don't import meta.Session directly; import meta instead
[bluechips.git] / bluechips / controllers / spend.py
1 """
2 Handle expenditures
3 """
4
5 import logging
6
7 from bluechips.lib.base import *
8 from bluechips.widgets import spend
9
10 from pylons import request
11
12 log = logging.getLogger(__name__)
13
14 class SpendController(BaseController):
15     def index(self):
16         c.expenditure = dict()
17         c.expenditure['spender'] = request.environ['user']
18         
19         return render('/spend/index.mako')
20     
21     @validate(form=spend.new_spend_form, error_handler='index')
22     def new(self):
23         e = model.Expenditure()
24         update_sar(e, self.form_result)
25         meta.Session.save(e)
26         
27         e.even_split()
28         meta.Session.commit()
29         
30         h.flash('Expenditure recorded.')
31         h.flash("""Want to do something unusual?
32
33 <ul id="expenditure_options">
34   <li>%s</li>
35   <li>%s</li>
36 </ul>""" % (h.link_to('Change the split', h.url_for(controller='spend',
37                                                    action='split',
38                                                    id=e.id)),
39            h.link_to('Spin off a subitem', h.url_for(controller='spend',
40                                                      action='subitem',
41                                                      id=e.id))))
42         
43         return h.redirect_to('/')