Ticket #13322 (confirmed Bug)

Opened 3 years ago

Last modified 3 years ago

Collection template customization results in "Insufficient Privileges"

Reported by: aldick@… Owned by:
Priority: minor Milestone: 4.x
Component: General Version: 4.2
Keywords: Cc: nachtigall@…

Description

I wanted to customize tabular_view in plone.app.collection.interfaces.ICollection in portal_view_customizations. After clicking "Customize" I get "Insufficient Privileges" error every time I want to access a collection set to tabular view.

Steps to reproduce:

  • Create new style collection
  • Set collection view to "tabular view"
  • Go to ZMI -> portal_view_customizations
  • find and select "tabular_view" under plone.app.collection.interfaces.ICollection
  • click "Customize"
  • Try to access collection created in step 1

Also, that's why I did that at all: It would be nice to have collections sortable by clicking the table-header again. I tried to remove "class=nosort" from tabular_view but never get an result due to the error described before.

Change History

comment:1 Changed 3 years ago by kleist

  • Status changed from new to confirmed
  • Component changed from Unknown to General

comment:2 Changed 3 years ago by maartenkling

refs #13336

comment:3 Changed 3 years ago by maartenkling

The error in coredev 4.2, including debug level all

2012-11-20 20:08:17 ERROR Zope.SiteErrorLog 1353438497.630.0867419474283 http://localhost:8080/Plone/topic/tabular_view
Traceback (innermost last):
  Module ZPublisher.Publish, line 126, in publish
  Module ZPublisher.mapply, line 77, in mapply
  Module ZPublisher.Publish, line 46, in call_object
  Module five.customerize.zpt, line 83, in __call__
  Module Products.PageTemplates.ZopePageTemplate, line 334, in _exec
  Module Products.PageTemplates.ZopePageTemplate, line 431, in pt_render
  Module Products.PageTemplates.PageTemplate, line 79, in pt_render
  Module zope.pagetemplate.pagetemplate, line 113, in pt_render
  Module zope.tal.talinterpreter, line 271, in __call__
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 888, in do_useMacro
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 533, in do_optTag_tal
  Module zope.tal.talinterpreter, line 518, in do_optTag
  Module zope.tal.talinterpreter, line 513, in no_tag
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 954, in do_defineSlot
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 533, in do_optTag_tal
  Module zope.tal.talinterpreter, line 518, in do_optTag
  Module zope.tal.talinterpreter, line 513, in no_tag
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 858, in do_defineMacro
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 954, in do_defineSlot
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 533, in do_optTag_tal
  Module zope.tal.talinterpreter, line 518, in do_optTag
  Module zope.tal.talinterpreter, line 513, in no_tag
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 954, in do_defineSlot
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 533, in do_optTag_tal
  Module zope.tal.talinterpreter, line 518, in do_optTag
  Module zope.tal.talinterpreter, line 513, in no_tag
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 946, in do_defineSlot
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 852, in do_condition
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 533, in do_optTag_tal
  Module zope.tal.talinterpreter, line 518, in do_optTag
  Module zope.tal.talinterpreter, line 513, in no_tag
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 821, in do_loop_tal
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 533, in do_optTag_tal
  Module zope.tal.talinterpreter, line 518, in do_optTag
  Module zope.tal.talinterpreter, line 513, in no_tag
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 821, in do_loop_tal
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 533, in do_optTag_tal
  Module zope.tal.talinterpreter, line 518, in do_optTag
  Module zope.tal.talinterpreter, line 513, in no_tag
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 583, in do_setLocal_tal
  Module zope.tales.tales, line 696, in evaluate
   - URL: plone.app.collection.interfaces.icollection-tabular_view
   - Line 49, Column 22
   - Expression: <PythonExpr getattr(item, field[0])>
   - Names:
      {'container': <ViewTemplateContainer at /Plone/portal_view_customizations>,
       'context': <Collection at /Plone/topic>,
       'default': <object object at 0x109642b70>,
       'here': <Collection at /Plone/topic>,
       'loop': {u'field': <Products.PageTemplates.Expressions.PathIterator object at 0x10d9c0890>,
                u'item': <Products.PageTemplates.Expressions.PathIterator object at 0x10d9c0650>},
       'nothing': None,
       'options': {'args': ()},
       'repeat': <Products.PageTemplates.Expressions.SafeMapping object at 0x10d9bd5d0>,
       'request': <HTTPRequest, URL=http://localhost:8080/Plone/topic/tabular_view>,
       'root': <Application at >,
       'template': <TTWViewTemplate at /Plone/portal_view_customizations/plone.app.collection.interfaces.icollection-tabular_view used for /Plone/topic>,
       'user': <SpecialUser 'Anonymous User'>,
       'view': <five.customerize.zpt.TTWView object at 0x10d9b2ad0>}
  Module Products.PageTemplates.ZRPythonExpr, line 48, in __call__
   - __traceback_info__: getattr(item, field[0])
  Module PythonExpr, line 1, in <expression>
  Module AccessControl.ImplPython, line 716, in guarded_getattr
  Module AccessControl.ImplPython, line 658, in aq_validate
  Module AccessControl.ImplPython, line 552, in validate
  Module AccessControl.ImplPython, line 322, in validate
  Module AccessControl.ImplPython, line 749, in raiseVerbose
  Module AccessControl.ImplPython, line 726, in item_repr
  Module plone.app.contentlisting.catalog, line 29, in __repr__
  Module plone.app.contentlisting.catalog, line 74, in getPath
  Module Products.ZCatalog.CatalogBrains, line 51, in getPath
AttributeError: getpath
2012-11-20 20:08:17 DEBUG ImplPython Unauthorized: Your user account does not have the required permission.  Access to 'render' of (Products.Five.viewlet.metaconfigure.LockInfoViewlet object at 0x10d938250) denied. Your user account, Anonymous User, exists at /acl_users. Access requires Modify_portal_content_Permission, granted to the following roles: ['Editor', 'Manager', 'Owner', 'Site Administrator']. Your roles in this context are ['Anonymous'].

Same for standard view and tabular view

 https://github.com/plone/plone.app.contentlisting/blob/master/plone/app/contentlisting/catalog.py#L29

comment:4 Changed 3 years ago by rmoreas

Is there some workarround or bugfix known for this? I need to customize some collection views, but currently I can't because of this bug.

Thanks

comment:5 Changed 3 years ago by jenskl

  • Cc nachtigall@… added

comment:6 Changed 3 years ago by feesh

+1! Is there an alternative way to change the table headings without customizing tabular_view?

Note: See TracTickets for help on using tickets.