After posting a form and being returned to it because of a validation
error, my SelectWidget fields are not being set to their posted values.
Text fields are being set. Here is a partial setup similar to mine.
widget1 = widgets.TextField(name='title',
validator=validators.PlainText(strip=True, not_empty=True),
attrs=dict(size=50))
widget2= widgets.SelectField(name='test',
options=[['', 'Not Selected'],
[1, "Apple"],
[2, "Orange"]])
form = widgets.TableForm(widgets=[widget1, widget2], submittext='Save')
class Root(controllers.Controller):
@turbogears.expose(html="templates.index")
def index(self):
return dict(form=form)
@turbogears.expose(inputform=form)
def save(self, title, test):
if cherrypy.request.form_errors:
return self.index()
turbogears.flash("Changes saved!")
raise cherrypy.HTTPRedirect("/")