2 from tw.api import WidgetsList
4 from tw.forms import validators
6 from bluechips.widgets import *
7 from bluechips import model
8 from bluechips.model.meta import Session
10 class _SplitFieldset(forms.ListFieldSet):
13 resident_share = 100.0 / float(Session.query(model.User).count())
14 except ZeroDivisionError:
16 for u in Session.query(model.User):
17 yield forms.TextField('%s' % u.id,
19 default=(resident_share if u.resident else 0))
21 children = getChildren()
23 class NewSpendForm(forms.ListForm):
24 class fields(WidgetsList):
25 spender = UserSelect()
26 amount = AmountField()
27 date = forms.CalendarDatePicker(
28 validator=validators.DateConverter(not_empty=True))
29 description = forms.TextField(size=40)
30 split = _SplitFieldset(suppress_label=True)
32 new_spend_form = NewSpendForm()