#6 — QueryRecordSet can't be accessed in skin scripts

by Jesse Snyder last modified Nov 12, 2009 11:50 PM
State Resolved
Version: 1.2b2
Area Functionality
Issue type Bug
Severity Critical
Submitted by Jesse Snyder
Submitted on Oct 27, 2009
Responsible David Glick
Target release:
Index access on QueryRecordSet object returned by query() throws an Unauthorized exception in skin scripts:

Traceback (innermost last):
  Module ZPublisher.Publish, line 119, in publish
  Module ZPublisher.mapply, line 88, in mapply
  Module ZPublisher.Publish, line 42, in call_object
  Module Shared.DC.Scripts.Bindings, line 313, in __call__
  Module Shared.DC.Scripts.Bindings, line 350, in _bindAndExec
  Module Products.CMFCore.FSPageTemplate, line 216, in _exec
  Module Products.CacheSetup.patch_cmf, line 29, in FSPT_pt_render
  Module Products.CacheSetup.patch_utils, line 9, in call_pattern
  Module Products.CMFCore.FSPageTemplate, line 155, in pt_render
  Module Products.CacheSetup.patch_cmf, line 77, in PT_pt_render
  Module Products.CacheSetup.patch_utils, line 9, in call_pattern
  Module Products.PageTemplates.PageTemplate, line 89, in pt_render
  Module zope.pagetemplate.pagetemplate, line 117, in pt_render
  Module zope.tal.talinterpreter, line 271, in __call__
  Module zope.tal.talinterpreter, line 346, in interpret
  Module zope.tal.talinterpreter, line 891, in do_useMacro
  Module zope.tal.talinterpreter, line 346, in interpret
  Module zope.tal.talinterpreter, line 536, in do_optTag_tal
  Module zope.tal.talinterpreter, line 521, in do_optTag
  Module zope.tal.talinterpreter, line 516, in no_tag
  Module zope.tal.talinterpreter, line 346, in interpret
  Module zope.tal.talinterpreter, line 957, in do_defineSlot
  Module zope.tal.talinterpreter, line 346, in interpret
  Module zope.tal.talinterpreter, line 536, in do_optTag_tal
  Module zope.tal.talinterpreter, line 521, in do_optTag
  Module zope.tal.talinterpreter, line 516, in no_tag
  Module zope.tal.talinterpreter, line 346, in interpret
  Module zope.tal.talinterpreter, line 861, in do_defineMacro
  Module zope.tal.talinterpreter, line 346, in interpret
  Module zope.tal.talinterpreter, line 957, in do_defineSlot
  Module zope.tal.talinterpreter, line 346, in interpret
  Module zope.tal.talinterpreter, line 536, in do_optTag_tal
  Module zope.tal.talinterpreter, line 521, in do_optTag
  Module zope.tal.talinterpreter, line 516, in no_tag
  Module zope.tal.talinterpreter, line 346, in interpret
  Module zope.tal.talinterpreter, line 536, in do_optTag_tal
  Module zope.tal.talinterpreter, line 525, in do_optTag
  Module zope.tal.talinterpreter, line 346, in interpret
  Module zope.tal.talinterpreter, line 949, in do_defineSlot
  Module zope.tal.talinterpreter, line 346, in interpret
  Module zope.tal.talinterpreter, line 536, in do_optTag_tal
  Module zope.tal.talinterpreter, line 521, in do_optTag
  Module zope.tal.talinterpreter, line 516, in no_tag
  Module zope.tal.talinterpreter, line 346, in interpret
  Module zope.tal.talinterpreter, line 861, in do_defineMacro
  Module zope.tal.talinterpreter, line 346, in interpret
  Module zope.tal.talinterpreter, line 586, in do_setLocal_tal
  Module zope.tales.tales, line 696, in evaluate
   - URL: file:/var/db/zope/basil_dev/parts/npowerseattle-products-client-stable/unitustheme/skins/unitustheme_templates/partner_view.pt
   - Line 11, Column 4
   - Expression: <PathExpr standard:u'context/getPartner'>
   - Names:
      {'container': <PloneSite at /unitusrecover_mp/unitus_site>,
       'context': <UnitusPage at /unitusrecover_mp/unitus_site/microfinance-partners/unitus-mfi-partners/india/bandhan/bandhan>,
       'default': <object object at 0x80111c200>,
       'here': <UnitusPage at /unitusrecover_mp/unitus_site/microfinance-partners/unitus-mfi-partners/india/bandhan/bandhan>,
       'loop': {},
       'nothing': None,
       'options': {'args': ()},
       'repeat': <Products.PageTemplates.Expressions.SafeMapping object at 0x821795f38>,
       'request': <HTTPRequest, URL=http://web.npowerseattle.org/[…]/partner_view>,
       'root': <Application at >,
       'template': <FSPageTemplate at /unitusrecover_mp/unitus_site/partner_view used for /unitusrecover_mp/unitus_site/microfinance-partners/unitus-mfi-partners/india/bandhan/bandhan>,
       'traverse_subpath': [],
       'user': <PropertiedUser 'npsadmin'>}
  Module zope.tales.expressions, line 217, in __call__
  Module Products.PageTemplates.Expressions, line 161, in _eval
  Module Products.PageTemplates.Expressions, line 111, 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 327, in __render_with_namespace__
  Module Shared.DC.Scripts.Bindings, line 350, in _bindAndExec
  Module Products.CMFCore.FSPythonScript, line 196, in _exec
  Module None, line 33, in getPartner
   - <FSPythonScript at /examplesite/>
   - Line 33
  Module AccessControl.ZopeGuards, line 71, in guarded_getitem
  Module AccessControl.ImplPython, line 563, in validate
  Module AccessControl.ImplPython, line 333, in validate
  Module AccessControl.ImplPython, line 808, in raiseVerbose
Unauthorized: The container has no security assertions. Access to None of [{'First_Loan_Issued__c': 'July 2002', 'Partnership_Start_Date__c': 'April 2005', 'Logo_URL__c': 'http://www.examplesite.com/logo-map.jpg', 'Location__c': 'Kolkata, West Bengal, India', 'type': 'Account', 'Id': '', 'Current_Clients_Served__c': 1714189.0, 'Clients_at_Partnership_Initiation__c': 51621.0}] denied.
Steps to reproduce:
1. Acquire the portal_salesforcebaseconnector object in a skin script
2. Call the query method so that one or more results are returned
3. Try to access the first result: query('some query')[0]
Added by David Glick on Nov 12, 2009 11:50 PM
Issue state: UnconfirmedResolved
Responsible manager: (UNASSIGNED)davisagli
Fixed in http://dev.plone.org/collective/changeset/102055

No responses can be added.