1

Recently I noticed that not all permissions are available on all content types, e.g. on ATDocuments (probably all non-folderish objects).

You can see this via the permission tab of the ZMI:

ATFolder: http://localhost:8080/path/to/atfolder/manage_access (all available permissions)

vs.

ATDocument: http://localhost:8080/path/to/atdocument/manage_access (just a few permissions)

Custom permissions (defined via ZCML) are also available on ATFolders but not on ATDocuments (at least).

My biggest problem is, that I can't set the missing permissions via a workflow state to ATDocuments (actually I can but it seems to has no effect).

Here is my question before I digging into the code: is there a common way to make custom permissions available for ATDocuments (or other non-folderish objects)?

BTW: this occurs for Plone 4.0.5 (I don't have checked others yet).

Martijn Pieters
  • 1,048,767
  • 296
  • 4,058
  • 3,343
Kai
  • 11
  • 2
  • Which permissions? For what reaason? Please give us more context so we can help. – Ross Patterson Sep 05 '11 at 06:31
  • Permissions on non-folderish items are filtered to show only those that would apply to methods on that item. All permissions are available, certainly to workflows, to set on that object. In other words, your custom permission won't change anything about the ATDocument behaviour *itself*, and this isn't shown. What are you trying to achieve with the custom permission? – Martijn Pieters Sep 05 '11 at 06:53
  • For instance, I have added a Viewlet to ATDocument via IBelowContentBody. Within this Viewlet I want to display certain information only when a custom permission "display xyz" has been granted. This should be done via the ZMI (manage_accesss) or via a certain workflow state. But "display xyz" doesn't show up in manage_access nor has it any effect when I granted it via a workflow state to an ATDocument. – Kai Sep 05 '11 at 07:42

0 Answers0