-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
SOLVED - one must call explictly bind() on the schema in this case. Andreas Andreas Jung wrote: > Using Colander/Deform inside a Zope 2.11 using the following schema > definition: > > > > import deform > import colander > > @colander.deferred > def selection_status(node, kw): > values = kw.get('status', []) > return deform.widget.SelectWidget(values=values) > > class DefaultSchema(colander.MappingSchema): > anrede = colander.SchemaNode( > colander.String(), > title=u'Anrede', > widget=selection_status, > view_roles = ['Recherche', 'Anonymous', 'Authenticated', > 'AutorenFiBu', 'AutorenHOA'], > edit_roles = ['AutorenFiBu'], > edit_roles_on_creation = ['AutorenRed', 'AutorenFiBu'], > ) > > > Rendering the template fails: > > Traceback (innermost last): > > Module ZPublisher.Publish, line 126, in publish > Module ZPublisher.mapply, line 88, in mapply > Module ZPublisher.Publish, line 46, in call_object > Module Shared.DC.Scripts.Bindings, line 316, in __call__ > Module Shared.DC.Scripts.Bindings, line 353, in _bindAndExec > Module Products.CMFCore.FSPageTemplate, line 216, in _exec > Module Products.CMFCore.FSPageTemplate, line 155, in pt_render > Module Products.PageTemplates.PageTemplate, line 96, in pt_render > Module zope.pagetemplate.pagetemplate, line 115, in pt_render > Module zope.tal.talinterpreter, line 271, in __call__ > Module zope.tal.talinterpreter, line 346, in interpret > Module zope.tal.talinterpreter, line 910, in do_useMacro > Module zope.tal.talinterpreter, line 346, in interpret > Module zope.tal.talinterpreter, line 539, in do_optTag_tal > Module zope.tal.talinterpreter, line 524, in do_optTag > Module zope.tal.talinterpreter, line 519, in no_tag > Module zope.tal.talinterpreter, line 346, in interpret > Module zope.tal.talinterpreter, line 968, in do_defineSlot > Module zope.tal.talinterpreter, line 346, in interpret > Module zope.tal.talinterpreter, line 764, in do_insertStructure_tal > Module Products.PageTemplates.Expressions, line 223, in evaluateStructure > Module zope.tales.tales, line 696, in evaluate > URL: > file:/local/HRS2/Devel/junga/hrs_trunk/parts/products-svn/AutorenDB2/skins/autorendb2/deform.xpt > Line 17, Column 8 > Expression: <PathExpr standard:u'context/deform_prepare'> > Names: > {'container': <CMFSite at /Test/adb>, > 'context': <CMFSite at /Test/adb>, > 'default': <object object at 0x2b09bd94f200>, > 'here': <CMFSite at /Test/adb>, > 'loop': {}, > 'nothing': None, > 'options': {'args': ()}, > 'repeat': <Products.PageTemplates.Expressions.SafeMapping object at > 0x2aaab04224d0>, > 'request': <HTTPRequest, URL=http://hdev:8080/Test/adb/deform>, > 'root': <Application at >, > 'template': <TrustedFSPageTemplate at /Test/adb/deform>, > 'user': <User 'ajung'>} > Module zope.tales.expressions, line 217, in __call__ > Module Products.PageTemplates.Expressions, line 163, in _eval > Module Products.PageTemplates.Expressions, line 115, in render > Module Products.PageTemplates.ZRPythonExpr, line 79, in call_with_ns > Module Products.CMFCore.FSPythonScript, line 135, in > __render_with_namespace__ > Module Shared.DC.Scripts.Bindings, line 330, in __render_with_namespace__ > Module Shared.DC.Scripts.Bindings, line 353, in _bindAndExec > Module Products.CMFCore.FSPythonScript, line 196, in _exec > Module None, line 25, in deform_prepare > <TrustedFSPythonScript at /Test/adb/deform_prepare> > Line 25 > Module deform.field, line 419, in render > Module deform.field, line 394, in serialize > Module deform.widget, line 791, in serialize > Module deform.template, line 103, in __call__ > Module chameleon.core.template, line 103, in __call__ > Module chameleon.core.template, line 394, in render > Module chameleon.zpt.template, line 17, in render > Module chameleon.core.template, line 221, in render > Module chameleon.core.template, line 373, in cook_and_render > Module chameleon.core.template, line 209, in cook_and_render > __traceback_info__: (<PageTemplateFile > /local/HRS2/Devel/junga/hrs_trunk/eggs/deform-0.8-py2.4.egg/deform/templates/form.pt>,) > Module chameleon_53e47ea76efd9f4bb68ebdb1440a64e2d2819387, line 307, in > render > Module deform.template, line 103, in __call__ > Module chameleon.core.template, line 103, in __call__ > Module chameleon.core.template, line 394, in render > Module chameleon.zpt.template, line 17, in render > Module chameleon.core.template, line 221, in render > Module chameleon.core.template, line 373, in cook_and_render > Module chameleon.core.template, line 209, in cook_and_render > __traceback_info__: (<PageTemplateFile > /local/HRS2/Devel/junga/hrs_trunk/eggs/deform-0.8-py2.4.egg/deform/templates/mapping_item.pt>,) > Module chameleon_9a2a51e2a4e74828462e65a50a39b7df03fa54a4, line 213, in > render > Module deform.field, line 394, in serialize > Module deform.widget, line 791, in serialize > Module deform.template, line 103, in __call__ > Module chameleon.core.template, line 103, in __call__ > Module chameleon.core.template, line 394, in render > Module chameleon.zpt.template, line 17, in render > Module chameleon.core.template, line 221, in render > Module chameleon.core.template, line 373, in cook_and_render > Module chameleon.core.template, line 209, in cook_and_render > __traceback_info__: (<PageTemplateFile > /local/HRS2/Devel/junga/hrs_trunk/eggs/deform-0.8-py2.4.egg/deform/templates/mapping.pt>,) > Module chameleon_4c7845e5d9fdd29e8b476d2bb96b0be5f0b7dfd8, line 182, in > render > Module deform.template, line 103, in __call__ > Module chameleon.core.template, line 103, in __call__ > Module chameleon.core.template, line 394, in render > Module chameleon.zpt.template, line 17, in render > Module chameleon.core.template, line 221, in render > Module chameleon.core.template, line 373, in cook_and_render > Module chameleon.core.template, line 209, in cook_and_render > __traceback_info__: (<PageTemplateFile > /local/HRS2/Devel/junga/hrs_trunk/eggs/deform-0.8-py2.4.egg/deform/templates/mapping_item.pt>,) > Module chameleon_9a2a51e2a4e74828462e65a50a39b7df03fa54a4, line 31, in > render > Module chameleon.core.codegen, line 35, in lookup_attr > RuntimeError: Caught exception rendering template. - Expression: > ``rndr(tmpl,field=f,cstruct=cstruct.get(f.name, null))`` - Filename: > /local/HRS2/Devel/junga/hrs_trunk/eggs/deform-0.8-py2.4.egg/deform/templates/form.pt > - Arguments: field: <Form - at 0x2aaab0445e90> cstruct: {...} (5) > template: <PageTemplateFile - at 0x2aaaafd69390> xincludes: <XIncludes - > at 0x2aaaafd69810> macros: <Macros - at 0x2aaaafe7b350> null: <_null - > at 0x2aaaafcce7d0> RuntimeError: Caught exception rendering template. - > Expression: ``field.serialize(cstruct)`` - Filename: > /local/HRS2/Devel/junga/hrs_trunk/eggs/deform-0.8-py2.4.egg/deform/templates/mapping_item.pt > - Arguments: field: <Field - at 0x2aaab0452150> cstruct: {...} (27) > template: <PageTemplateFile - at 0x2aaaafe7b410> xincludes: <XIncludes - > at 0x2aaaafe7b590> macros: <Macros - at 0x2aaaafe7ba90> RuntimeError: > Caught exception rendering template. - Expression: > ``rndr(tmpl,field=f,cstruct=cstruct.get(f.name,null))`` - Filename: > /local/HRS2/Devel/junga/hrs_trunk/eggs/deform-0.8-py2.4.egg/deform/templates/mapping.pt > - Arguments: field: <Field - at 0x2aaab0452150> cstruct: {...} (27) > template: <PageTemplateFile - at 0x2aaaafe7ba50> xincludes: <XIncludes - > at 0x2aaaafe7be10> macros: <Macros - at 0x2aaaafe8b590> null: <_null - > at 0x2aaaafcce7d0> RuntimeError: Caught exception rendering template. - > Expression: ``field.widget.hidden`` - Filename: > /local/HRS2/Devel/junga/hrs_trunk/eggs/deform-0.8-py2.4.egg/deform/templates/mapping_item.pt > - Arguments: field: <Field - at 0x2aaab0452f50> cstruct: <_null - at > 0x2aaaafcce7d0> template: <PageTemplateFile - at 0x2aaaafe7b410> > xincludes: <XIncludes - at 0x2aaaafe7b590> macros: <Macros - at > 0x2aaaafe7ba90> AttributeError: 'deferred' object has no attribute 'hidden' > > Zope 2.11 > Colander 0.9.1 > deform 0.8 > Chameleon 1.2.13 > > Anything I am missing? > > Andreas _______________________________________________ Repoze-dev mailing list Repoze-dev@lists.repoze.org http://lists.repoze.org/listinfo/repoze-dev - -- ZOPYX Limited | zopyx group Charlottenstr. 37/1 | The full-service network for Zope & Plone D-72070 Tübingen | Produce & Publish www.zopyx.com | www.produce-and-publish.com - ------------------------------------------------------------------------ E-Publishing, Python, Zope & Plone development, Consulting -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQGUBAEBAgAGBQJM/kCSAAoJEADcfz7u4AZjzpkLwJNECNxXGnAipX3XF9PySuO+ ictN9/DktsCVuz7/dwMq47CC+rtm1grdjnJ655fKmd41CMGbcYTjJBaBpd5zTqdh iwXw3617GRJZeh1srdyYJ1k03lfr5kZs1mojrwglZGdB13ntnZjLq00m6GU9Hg1q nxXuFwcXZz69DlCDwqEAFXpd0bjqy3r8KW4RwPWX7RDV/YZ3tCfhAwt8PIlWJstn kWJhOr9Fj3Bsc9M7hEBeBjhDfvsebk2Cf+YuyprdjpBLOZ0auYcIpftP4nbj2pXz 0qWliwUho/K6u6daiLqEO4yqdOV1K9nDDQvWA89EJhJfLVzfKxhAlaMiyZCuk139 gQNn1VYN3eStTq6SPBFtUhpMywsCIvM/N/1JYCDs6n2JyIkG+Yca/Frqj9HMBz5w PyJG78Rj5Rh52alus9EeAiLIo0Kxip6jJmyUkwRGEReGuEN62SvZNRBIlG07LKCz 4cMvDCra0VOuawQre3C/1FxT3D0X7Nw= =twop -----END PGP SIGNATURE-----
<<attachment: lists.vcf>>
_______________________________________________ Repoze-dev mailing list Repoze-dev@lists.repoze.org http://lists.repoze.org/listinfo/repoze-dev