[z3-five] another newbie cmf/plone integration question...

Lennart Regebro regebro at gmail.com
Sun Jun 12 13:16:31 CEST 2005


Which expression causes the error?

Doesn't Plone use stadrad_template/macros/master? (if it does you can
simply use CMFonFives template...)


On 6/11/05, Rob Miller <ra at burningman.com> wrote:
> okay, making progress.  i'm now able to create instances of my custom AT
> objects using a z3 style addform which is autogenerated from the AT
> schema... no need for portal_factory!
> 
> the next hurdle is getting the addform to work within plone's
> main_template system.  things work well when i use a completely custom
> five_template, but of course then the addform is missing all of the
> typical site skinning.  when i try to modify five_template so that it
> delegates to main_template (as, for example, the five_template that
> comes w/ CMFonFive does), then i get an unauthorized error related to a
> module import:
> 
> 
> 
> Traceback (innermost last):
>    Module ZPublisher.Publish, line 101, in publish
>    Module ZPublisher.mapply, line 88, in mapply
>    Module ZPublisher.Publish, line 39, in call_object
>    Module Products.Five.browserconfigure, line 628, in __call__
>    Module Shared.DC.Scripts.Bindings, line 306, in __call__
>    Module Shared.DC.Scripts.Bindings, line 343, in _bindAndExec
>    Module Products.PageTemplates.PageTemplateFile, line 106, in _exec
>    Module Products.PageTemplates.PageTemplate, line 96, in pt_render
>     - <ZopeTwoPageTemplateFile at 0x4860d20>
>    Module TAL.TALInterpreter, line 190, in __call__
>    Module TAL.TALInterpreter, line 234, in interpret
>    Module TAL.TALInterpreter, line 671, in do_useMacro
>    Module TAL.TALInterpreter, line 234, in interpret
>    Module TAL.TALInterpreter, line 671, in do_useMacro
>    Module TAL.TALInterpreter, line 234, in interpret
>    Module TAL.TALInterpreter, line 409, in do_optTag_tal
>    Module TAL.TALInterpreter, line 394, in do_optTag
>    Module TAL.TALInterpreter, line 389, in no_tag
>    Module TAL.TALInterpreter, line 234, in interpret
>    Module TAL.TALInterpreter, line 671, in do_useMacro
>    Module TAL.TALInterpreter, line 234, in interpret
>    Module TAL.TALInterpreter, line 464, in do_setGlobal_tal
>    Module Products.PageTemplates.TALES, line 221, in evaluate
>     - URL: index
>     - Line 3, Column 0
>     - Expression: <PythonExpr modules['Products.CMFPlone'].IndexIterator>
>     - Names:
>        {'container': <SimpleViewClass from
> /Users/rob/devzope/Products/Fate/meta/add.pt instance at 3cf4d20>,
>         'context': <ATBTreeFolder instance at 4a116e0>,
>         'default': <Products.PageTemplates.TALES.Default instance at
> 0x21af1e8>,
>         'here': <ATBTreeFolder instance at 4a116e0>,
>         'loop': <SafeMapping instance at 3eebab0>,
>         'modules': <Products.Five.TrustedExpression._ModuleImporter
> instance at 0x340b8c8>,
>         'nothing': None,
>         'options': {'args': (<SimpleViewClass from
> /Users/rob/devzope/Products/Fate/meta/add.pt instance at 3cf4d20>,)},
>         'repeat': <SafeMapping instance at 3eebab0>,
>         'request': <HTTPRequest,
> URL=http://127.0.0.1:6080/openplans/projects/add_project>,
>         'root': <Application instance at 4a16950>,
>         'template': <ZopeTwoPageTemplateFile at 0x4860d20>,
>         'traverse_subpath': [],
>         'user': rob,
>         'view': <SimpleViewClass from
> /Users/rob/devzope/Products/Fate/meta/add.pt instance at 3cf4d20>,
>         'views': <zope.app.pagetemplate.viewpagetemplatefile.ViewMapper
> object at 0x4c51ef0>}
>    Module Products.PageTemplates.ZRPythonExpr, line 47, in __call__
>     - __traceback_info__: modules['Products.CMFPlone'].IndexIterator
>    Module Python expression
> "modules['Products.CMFPlone'].IndexIterator", line 1, in <expression>
>    Module AccessControl.ZopeGuards, line 71, in guarded_getitem
>    Module AccessControl.ImplPython, line 407, in validate
>    Module Products.VerboseSecurity.VerboseSecurityPolicy, line 151, in
> validate
> Unauthorized: The container has no security assertions.  Access to
> 'Products.CMFPlone' of (Products.Five.TrustedExpression._ModuleImporter
> instance at 0x340b8c8) denied.
> 
> 
> the problem seems to be that the security context is not set up
> correctly within the addform's rendering environment.  the container
> seems to be a SimpleViewClass instance, where SimpleViewClass is
> dynamically created via a call to
> Products.Five.browserconfigure.makeClassForTemplate().  i'm guessing
> that if i can acquisition wrap this SimpleViewClass instance somewhere
> within my persistent object hierarchy then the security look-ups would
> start working, but i can't find where the instance is actually created.
>   am i going in the right direction?  i've dug through the other threads
> re: CMF and Five integration, but i haven't seen anything dealing w/
> this security context issue.
> 
> thx for any help,
> 
> -r
> 
> p.s.: as i'm using plone, you've probably surmised that i'm using CMF
> 1.4, not 1.5.
> 
> _______________________________________________
> z3-five mailing list
> z3-five at codespeak.net
> http://codespeak.net/mailman/listinfo/z3-five
> 


-- 
Lennart Regebro, Nuxeo     http://www.nuxeo.com/
CPS Content Management     http://www.cps-project.org/


More information about the z3-five mailing list