R: [Zope-dev] Referencing a python method from a product page template
Coletti Massimo
m.coletti at finnat.it
Wed Oct 20 04:40:27 EDT 2004
Pardon, the traceback of option b was not correct, here is the right one
-----Messaggio originale-----
Da: zope-dev-bounces at zope.org [mailto:zope-dev-bounces at zope.org] Per conto di Coletti Massimo
Inviato: mercoledì 20 ottobre 2004 10.31
A: zope-dev at zope.org
Oggetto: [Zope-dev] Referencing a python method from a product page template
Hi,
I am defining a Zope product to create a new portlet, the portlet will display some contents retrieved from a python module.
Under the product dir I have a file queryBFE.py, with a method returnQuery(); the method returns a dictionary.
In the __init__.py at product level, there is an:
allow_module('Products.CorpQuotes.queryBFE')
The portlet page template is stored under a skin directory, properly registered in CFM.
In the portlet text, I tried two syntaxes to call the method:
a)
<span tal:define="modulo here/queryBFE;
quotazione modulo/returnQuery;">
b)
<span tal:define="quotazione modules/Products/CorpQuotes/queryBFE/returnQuery">
The first one returns:
Exception Type
AttributeError
Exception Value
queryBFE
The second one returns:
Exception Type
Unauthorized
Exception Value
You are not allowed to access 'queryBFE' in this context
Module Products.PageTemplates.TALES, line 220, in evaluate
- URL: /Plone/FinnatHome_view
- Line 14, Column 10
- Expression: standard:'modules/Products/CorpQuotes/queryBFE/returnQuery'
- Names:
{'container': <PloneSite instance at 0170EF50>,
'context': <Document at /Plone/index.html>,
'default': <Products.PageTemplates.TALES.Default instance at 0x010BF5F8>,
'here': <Document at /Plone/index.html>,
'loop': <SafeMapping instance at 025DEC30>,
'modules': <Products.PageTemplates.ZRPythonExpr._SecureModuleImporter instance at 0x010AED00>,
'nothing': None,
'options': {'args': ()},
'repeat': <SafeMapping instance at 025DEC30>,
'request': <HTTPRequest, URL=http://localhost:8082/index.html/FinnatHome_view>,
'root': <Application instance at 017C29E0>,
'template': <ZopePageTemplate at /Plone/FinnatHome_view used for /Plone/index.html>,
'traverse_subpath': [],
'user': coletti}
Module Products.PageTemplates.Expressions, line 201, in __call__
Module Products.PageTemplates.Expressions, line 189, in _eval
Module Products.PageTemplates.Expressions, line 145, in _eval
- __traceback_info__: modules
Module Products.PageTemplates.Expressions, line 340, in restrictedTraverse
- __traceback_info__: {'path': ['Products', 'CorpQuotes', 'queryBFE', 'returnQuery'], 'TraversalRequestNameStack': ['returnQuery']}
Unauthorized: You are not allowed to access 'queryBFE' in this context
This e-mail and any attachments may contain confidential and
privileged information. If you are not the intended recipient,
please notify the sender immediately by return e-mail, delete this
e-mail and destroy any copies. Any dissemination or use of this
information by a person other than the intended recipient is
unauthorized and may be illegal.
More information about the Zope-Dev
mailing list