--- /dev/null
+"""
+Handle expenditures
+"""
+
+import logging
+
+from bluechips.lib.base import *
+from bluechips.widgets import spend
+
+log = logging.getLogger(__name__)
+
+class SpendController(BaseController):
+ def index(self):
+ return render('/spend/index.mako')
--- /dev/null
+<%inherit file="/base.mako"/>
+
+<%def name="title()">${parent.title()} :: Add a New Expenditure</%def>
+
+<%namespace name="forms" module="bluechips.widgets.spend" />
+
+${forms.new_spend_form(action=h.url_for(action='new'))}
--- /dev/null
+from bluechips.tests import *
+
+class TestSpendController(TestController):
+
+ def test_index(self):
+ response = self.app.get(url_for(controller='spend'))
+ # Test response...
--- /dev/null
+from tw import forms
+
+from bluechips import model
+from bluechips.model import meta
+
+class UserSelect(forms.SingleSelectField):
+ @staticmethod
+ def getUserList():
+ for u in meta.Session.query(model.User):
+ yield (u.username, u.name)
+
+ options = getUserList
+
+__all__ = ['UserSelect']
--- /dev/null
+from tw import forms
+from tw.api import WidgetsList
+
+from tw.forms import validators
+
+from bluechips.widgets import *
+
+forms.FormField.engine_name = 'mako'
+
+class NewSpendForm(forms.ListForm):
+ class fields(WidgetsList):
+ spender = UserSelect()
+
+new_spend_form = NewSpendForm()