I'm having problems with using <browser:widget>. I have an interface: class ISzerep(Interface): name = TextLine( title=u"Szerep nev", description=u"Szerep nev", required=True ) szemelyek = List( title=u"Hozzarendelt szemelyek", description=u"Hozzarendelt szemelyek", required=False, value_type=Choice(vocabulary="szemely") )
If I add a simple add (or edit) form: <browser:addform schema="szscreen.interfaces.ISzemely" content_factory="szscreen.app.Szemely" label="Uj Szemely" name="AddSzemely.html" permission="zope.ManageContent" set_before_add="name" > </browser:addform> everything goes well, an OrderedMultiSelectWidget is displayed in the browser by default for the *szemelyek* field. If I modify the addform configuration by adding the <widget>: <browser:addform schema="szscreen.interfaces.ISzemely" content_factory="szscreen.app.Szemely" label="Uj Szemely" name="AddSzemely.html" permission="zope.ManageContent" set_before_add="name" > <widget field="szerepek" class="zope.app.form.browser.OrderedMultiSelectWidget"/> </browser:addform> I get an exception: Traceback (innermost last): Module zope.publisher.publish, line 135, in publish object = request.traverse(object) Module zope.publisher.browser, line 501, in traverse ob = super(BrowserRequest, self).traverse(object) Module zope.publisher.http, line 386, in traverse ob = super(HTTPRequest, self).traverse(object) Module zope.publisher.base, line 271, in traverse subobject = publication.traverseName( Module zope.app.publication.publicationtraverse, line 46, in traverseName ob2 = namespaceLookup(ns, nm, ob, request) Module zope.app.traversing.namespace, line 119, in namespaceLookup return traverser.traverse(name, ()) Module zope.app.traversing.namespace, line 361, in traverse name=name) Module zope.component, line 165, in queryMultiAdapter return sitemanager.queryMultiAdapter(objects, interface, name, default) Module zope.component.site, line 75, in queryMultiAdapter default) Module zope.interface.adapter, line 481, in queryMultiAdapter return factory(*objects) Module zope.app.form.browser.editview, line 64, in __init__ self._setUpWidgets() Module zope.app.form.browser.editview, line 69, in _setUpWidgets names=self.fieldNames) Module zope.app.form.utility, line 224, in setUpEditWidgets ignoreStickyValues, context) Module zope.app.form.utility, line 101, in setUpWidget widget = widget(field.bind(context), view.request) Module zope.app.form, line 97, in __call__ instance = self._widget_factory(*args) TypeError: __init__() takes exactly 4 arguments (3 given) All unit and functional test pass, and the worldcookery's DynamicSequenceWidget example is working. In fact I wanted to check MultiCheckBoxWidget, but as OrderedMultiSelectWidget is not working I'm stuck. Please help -- Best regards, Adam mailto:[EMAIL PROTECTED] -- Quote of the day: The greatest pleasure I know is to do a good action by stealth, and to have it found out by accident. - Charles Lamb _______________________________________________ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com