I've defined and imported these classes into a tg-admin shell session:
class CustomerFormFields(widgets.WidgetsList):
name = widgets.TextField(
validator=validators.NotEmpty(),
label="Name (First Last)"
)
nickName = widgets.TextField(
validator=validators.NotEmpty(),
label="Tag/Nickname"
)
dateOfBirth = widgets.CalendarDatePicker(
validator=validators.DateTimeConverter(),
label="Date of Birth"
)
class PhoneFormFields(widgets.WidgetsList):
name = widgets.TextField(
label = "Label",
attrs = dict(size = 50)
)
number = widgets.TextField(
label = "Number",
attrs = dict(size = 12)
)
here's the session text:
>>> from forms import *
>>> from turbogears import widgets
>>> l = []
>>> l.append(CustomerFormFields())
>>> l.append(PhoneFormFields())
>>> f = widgets.TableForm(fields=l)
Traceback (most recent call last):
[...]
File "/usr/local/lib/python2.4/site-packages/TurboGears-1.0.3.2-
py2.4.egg/turbogears/widgets/meta.py", line 169, in widget_init
validator = generate_schema(self.validator, widgets)
File "/usr/local/lib/python2.4/site-packages/TurboGears-1.0.3.2-
py2.4.egg/turbogears/widgets/meta.py", line 277, in generate_schema
if widget.is_named:
AttributeError: 'CustomerFormFields' object has no attribute
'is_named'
>>> f2 = widgets.TableForm()
>>> f2.fields.append(CustomerFormFields())
>>> f2.fields.append(PhoneFormFields())
>>> f2.display()
Traceback (most recent call last):
[...]
File "/usr/local/lib/python2.4/site-packages/TurboGears-1.0.3.2-
py2.4.egg/turbogears/widgets/forms.py", line 554, in update_params
if field.name not in d["disabled_fields"]:
AttributeError: 'CustomerFormFields' object has no attribute 'name'
>>> f3 = widgets.TableForm()
Traceback (most recent call last):
[...]
File "/usr/local/lib/python2.4/site-packages/TurboGears-1.0.3.2-
py2.4.egg/turbogears/widgets/meta.py", line 169, in widget_init
validator = generate_schema(self.validator, widgets)
File "/usr/local/lib/python2.4/site-packages/TurboGears-1.0.3.2-
py2.4.egg/turbogears/widgets/meta.py", line 277, in generate_schema
if widget.is_named:
AttributeError: 'CustomerFormFields' object has no attribute
'is_named'
Questions:
Am I missing something from my WidgetsList classes that's causing
these AttributeErrors?
Can I not append to the form's fields collection, or use a list to put
together a bunch of WidgetLists?
Why does an error on one TableForm cause errors on another unrelated
instance that doesn't even have any widgets in it?
I've noticed similar behavior if I call TableForm.display() more than
once on the same form instance. Is this a no-no?
I've looked at the Widget Toolbox, and the tutorials, and they are all
really helpful, but what seems to be really missing is API
documentation. Some of the __doc__ strings are helpful, but others
aren't set or don't really illuminate anything. Is there any existing
documentation?
TIA!
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"TurboGears" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/turbogears?hl=en
-~----------~----~----~----~------~----~------~--~---