From 9c702e4826bdb9e540f8768e8d96c3b874b84eae Mon Sep 17 00:00:00 2001 From: Evan Broder Date: Sun, 13 Jul 2008 14:57:40 +0000 Subject: [PATCH] Create controller for entering expenditures --- bluechips/controllers/spend.py | 14 ++++++++++++++ bluechips/templates/spend/index.mako | 7 +++++++ bluechips/tests/functional/test_spend.py | 7 +++++++ bluechips/widgets/__init__.py | 14 ++++++++++++++ bluechips/widgets/spend.py | 14 ++++++++++++++ 5 files changed, 56 insertions(+) create mode 100644 bluechips/controllers/spend.py create mode 100644 bluechips/templates/spend/index.mako create mode 100644 bluechips/tests/functional/test_spend.py create mode 100644 bluechips/widgets/__init__.py create mode 100644 bluechips/widgets/spend.py diff --git a/bluechips/controllers/spend.py b/bluechips/controllers/spend.py new file mode 100644 index 0000000..481bcc0 --- /dev/null +++ b/bluechips/controllers/spend.py @@ -0,0 +1,14 @@ +""" +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') diff --git a/bluechips/templates/spend/index.mako b/bluechips/templates/spend/index.mako new file mode 100644 index 0000000..390199d --- /dev/null +++ b/bluechips/templates/spend/index.mako @@ -0,0 +1,7 @@ +<%inherit file="/base.mako"/> + +<%def name="title()">${parent.title()} :: Add a New Expenditure + +<%namespace name="forms" module="bluechips.widgets.spend" /> + +${forms.new_spend_form(action=h.url_for(action='new'))} diff --git a/bluechips/tests/functional/test_spend.py b/bluechips/tests/functional/test_spend.py new file mode 100644 index 0000000..2b6603a --- /dev/null +++ b/bluechips/tests/functional/test_spend.py @@ -0,0 +1,7 @@ +from bluechips.tests import * + +class TestSpendController(TestController): + + def test_index(self): + response = self.app.get(url_for(controller='spend')) + # Test response... diff --git a/bluechips/widgets/__init__.py b/bluechips/widgets/__init__.py new file mode 100644 index 0000000..d935983 --- /dev/null +++ b/bluechips/widgets/__init__.py @@ -0,0 +1,14 @@ +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'] diff --git a/bluechips/widgets/spend.py b/bluechips/widgets/spend.py new file mode 100644 index 0000000..3e41ea1 --- /dev/null +++ b/bluechips/widgets/spend.py @@ -0,0 +1,14 @@ +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() -- 2.45.2