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