[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