Changeset 804
- Timestamp:
- 02/23/07 10:46:02
- Files:
-
- qPloneEditorGroup/trunk/Extensions/Install.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
qPloneEditorGroup/trunk/Extensions/Install.py
r803 r804 5 5 from StringIO import StringIO 6 6 7 8 7 def install(self): 9 8 """ install product """ 10 9 out = StringIO() 11 10 portal = getToolByName(self,'portal_url').getPortalObject() 12 self._addRole('Editor')13 11 acl = self.acl_users 14 12 if acl.meta_type != 'Pluggable Auth Service': 15 13 acl.changeOrCreateGroups(roles = ['Editor'], new_groups=['Editors']) 16 14 else: 17 try: 15 from Products.PluggableAuthService.interfaces.plugins import IRolesPlugin 16 from Products.PluggableAuthService.interfaces.plugins import IRoleEnumerationPlugin 17 plugins = acl._getOb( 'plugins' ) 18 roles = plugins.listPlugins(IRolesPlugin) 19 enumerators = plugins.listPlugins(IRoleEnumerationPlugin) 20 role_enums = set(roles) and set(enumerators) 21 22 ids = [] 23 for rp in role_enums: 24 all_roles = rp[1].enumerateRoles() 25 ids += [a['id'] for a in all_roles] 26 if 'Editor' not in ids: 18 27 acl.addRole('Editor') 19 except KeyError:20 pass21 28 22 29 if 'Editors' not in acl.getGroupIds():
