[Product-Developers] How to modify a z3c form field in updateWidgets?
paradoxxjm
mamcnaughton at gmail.com
Sun Jun 26 09:58:03 UTC 2011
I am trying to dynamically update a form field based on a variable that is
included in a HTTP get variable. Specifically www.site.com/form?id=name. I
want to pull the 'id' field from the url and automatically populate the
memberID field of the form.
I have access to the get variable using self.request.get('id'). However I
haven't been able to figure out how to update the form field. I examined the
widget documentation http://packages.python.org/z3c.form/widget.html but
none of the suggestions have worked.
class IUpdateEmailFormSchema(interface.Interface):
# -*- extra stuff goes here -*-
"""
"""
memberID = schema.TextLine(title=(u'Member id'))
email = schema.TextLine(title=(u'Email'), description=(u'The email'))
class updateEmailForm(form.Form):
fields = field.Fields(IUpdateEmailFormSchema)
label = _(u'Change Email')
ignoreContext = True
@button.buttonAndHandler(u'Update')
def handleUpdate(self,action):
data, errors = self.extractData()
if data.has_key('email'):
portal_membership = getToolByName(self.context,
'portal_membership')
member = portal_membership.getMemberById(data['memberID'])
def updateWidgets(self):
print "This is update widget \n\n"
import pdb; pdb.set_trace()
print self.request.form['id'] #Does not work as specified in
http://packages.python.org/z3c.form/widget.html
#self.widgets["memberID"].value =
self.request.get('id').encode('utf-8')
form.Form.updateWidgets(self)
updateEmailFormView = wrap_form(updateEmailForm)
--
View this message in context: http://plone.293351.n2.nabble.com/How-to-modify-a-z3c-form-field-in-updateWidgets-tp6516889p6516889.html
Sent from the Product Developers mailing list archive at Nabble.com.
More information about the Product-Developers
mailing list