Chenxiong Qi
Chenxiong Qi

Reputation: 426

How to set the sharing rights of a folder in Plone?

I want to set sharing rights of many folders by using a Python script in a Plone site.

Upvotes: 3

Views: 696

Answers (1)

Martijn Pieters
Martijn Pieters

Reputation: 1121306

You need to look at the AccessControl/rolemanager.py module for details; the sharing tab in Plone is a friendly wrapper around that API.

To add roles for a given userid, call manage_addLocalRoles:

context.manage_addLocalRoles('userid', ('Role1', 'Role2',))

The other two important methods are manage_setLocalRoles(userid, roles) (replace the current set of roles completely) and manage_delLocalRoles(userid) (delete all roles). get_local_roles_for_userid(userid) could be handy too, to see what local roles are already defined.

You want to reindex security information after such changes:

context.reindexObjectSecurity()

Upvotes: 8

Related Questions