RE: [Zope] Adding User Roles through Products
I am developing a product that uses roles to show certain content to different people. I am looking for a way to automatically add new user roles to my products folder in zope when creating a new instance of that product. Is there a way to do that and when how?
<$0.02> Try calling manage_defined_roles from within the DTML. Of course, the calling doc will need a manage proxy role or permissions will break. I just checked the online help and manage_defined_roles didn't have great documentation so you might have to check the docs for necessary parameters or brute force it by sending a REQUEST. </$0.02> ** In general, a good way to research these questions is to look in Zope for what you want to do. In this case I looked at the Security tab of a Zope folder, Viewed Source and checked out just what happens when you add a role. In this case there is a FORM at the bottom of the Security screen whose ACTION is manage_defined_roles. I then took a look at the online help under Folder and looked for the method manage_defined_roles. Often there will be good documentation in the online object reference. When there isn't I can grep for manage_defined_roles in the sources to find out where and how the method is defined... In this case it turned up (among other things): o access.dtml - controls the look-and-feel of a folder's security tab o role.py which contains: def manage_defined_roles(self,submit=None,REQUEST=None): You can, with relatively little pain, read the source there and figure out what parameters it wants to do what you're after! The bit of "insider knowledge" that I added was that in order to call/use a manage* method you need the Manager role. Hope this helps... --Rob
participants (1)
-
Rob Page