7 from bluechips.lib.base import *
8 from bluechips.widgets import spend
10 from pylons import request
12 log = logging.getLogger(__name__)
14 class SpendController(BaseController):
16 c.title = 'Add a New Expenditure'
18 c.expenditure = dict()
19 c.expenditure['spender'] = request.environ['user']
21 return render('/spend/index.mako')
24 c.title = 'Edit an Expenditure'
26 c.expenditure = meta.Session.query(model.Expenditure).get(id)
28 return render('/spend/index.mako')
30 def update(self, id=None):
31 # Validate the submission
32 if not valid(self, spend.new_spend_form):
38 # Either create a new object, or, if we're editing, get the
41 e = model.Expenditure()
43 e = meta.Session.query(model.Expenditure).get(id)
45 # Set the fields that were submitted
46 update_sar(e, self.form_result)
47 meta.Session.save_or_update(e)
56 h.flash('Expenditure recorded.')
57 h.flash("""Want to do something unusual?
59 <ul id="expenditure_options">
62 </ul>""" % (h.link_to('Change the split', h.url_for(controller='spend',
65 h.link_to('Spin off a subitem', h.url_for(controller='spend',
69 return h.redirect_to('/')