[zopeorg-checkins] CVS: Products/ZopeOrg-NV/Extensions - setupZopeOrgMembership.py:1.17

Jens Vagelpohl jens at zope.com
Fri Aug 8 11:34:23 EDT 2003


Update of /cvs-zopeorg/Products/ZopeOrg-NV/Extensions
In directory cvs.zope.org:/tmp/cvs-serv12836/Extensions

Modified Files:
	setupZopeOrgMembership.py 
Log Message:
- last fixes and preparation of external method to transition to new
  tools smoothly



=== Products/ZopeOrg-NV/Extensions/setupZopeOrgMembership.py 1.16 => 1.17 ===
 #
 
 import string, os
-#from Products.LDAPUserFolder.LDAPUserFolder import manage_addLDAPUserFolder
+from Products.LDAPUserFolder.LDAPUserFolder import manage_addLDAPUserFolder
 from Products.ZopeOrg import zopeorg_globals
 from Products.CMFCore.DirectoryView import addDirectoryViews
 from Products.CMFCore.utils import getToolByName
-#from Products.ZopeOrg.ZopeOrgMembershipTool import ZopeOrgMembershipTool
-#from Products.ZopeOrg.ZopeOrgMembershipTool import manage_addZopeOrgMembershipTool
-#from Products.ZopeOrg.ZopeOrgMemberDataTool import ZopeOrgMemberDataTool
-#from Products.ZopeOrg.ZopeOrgMemberDataTool import manage_addZopeOrgMemberDataTool
+from Products.ZopeOrg.ZopeOrgMembershipTool import ZopeOrgMembershipTool
+from Products.ZopeOrg.ZopeOrgMembershipTool import manage_addZopeOrgMembershipTool
+from Products.ZopeOrg.ZopeOrgMemberDataTool import ZopeOrgMemberDataTool
+from Products.ZopeOrg.ZopeOrgMemberDataTool import manage_addZopeOrgMemberDataTool
 
 #
 # List all specially initialized components
 ########################################################
 
-# TOOL_CLASSES = (
-#         ('portal_membership', ZopeOrgMembershipTool),
-#         ('portal_memberdata', ZopeOrgMemberDataTool),
-#     )
-
-# if os.environ.get('HOSTNAME', '') in ( 'faux.digicool.com'
-#                                      , 'waldorf' 
-#                                      , 'zoc.zope.com'
-#                                      ):
-#     LDAP_SERVER = 'waldorf.zope.com'
-# else:
-#     LDAP_SERVER = 'storage'
-
-# LDAP_SCHEMA = [ 
-#     ('cn', 'Login Name'), ('sn', 'Last Name'),
-#     ('givenName', 'First Name'), ('mail', 'Email Address'),
-#     ('o', 'Organization'), ('public', 'Listed'), 
-#     ('portalSkin', 'Portal Skin'), ('lastLogin', 'Last Login'),
-#     ('prevLogin', 'Previous Login'), ('startupPage', 'Start Page')
-#     ]
-
-# LDAP_NAME_MAPPINGS = {
-#     'mail':'email',
-#     'cn':'full_name',
-#     'portalSkin':'portal_skin'
-#     }
-
-# LDAP_SETTINGS = { 'login_attr' : 'cn'
-#                 , 'rdn_attr' : 'cn'
-#                 , 'users_base' : 'ou=people,dc=zope,dc=org'
-#                 , 'users_scope' : 2
-#                 , 'groups_base' : 'ou=www.zope.org,ou=websites,ou=groups,dc=zope,dc=org'
-#                 , 'groups_scope' : 2
-#                 , 'bind_uid' : 'cn=Manager,dc=zope,dc=org'
-#                 , 'bind_pwd' : '5ecret'
-#                 , 'default_roles' : 'Anonymous'
-#                 , 'use_cookies' : 0
-#                 , 'objectClasses' : 'top,zopeOrgPerson'
-#                 }
+TOOL_CLASSES = (
+        ('portal_membership', ZopeOrgMembershipTool),
+        ('portal_memberdata', ZopeOrgMemberDataTool),
+    )
+
+if os.environ.get('HOSTNAME', '') in ( 'faux.digicool.com'
+                                     , 'waldorf' 
+                                     , 'zoc.zope.com'
+                                     ):
+    LDAP_SERVER = 'waldorf.zope.com'
+else:
+    LDAP_SERVER = 'storage'
+
+LDAP_SCHEMA = [ 
+    ('cn', 'Login Name'), ('sn', 'Last Name'),
+    ('givenName', 'First Name'), ('mail', 'Email Address'),
+    ('o', 'Organization'), ('public', 'Listed'), 
+    ('portalSkin', 'Portal Skin'), ('lastLogin', 'Last Login'),
+    ('prevLogin', 'Previous Login'), ('startupPage', 'Start Page')
+    ]
+
+LDAP_NAME_MAPPINGS = {
+    'mail':'email',
+    'cn':'full_name',
+    'portalSkin':'portal_skin'
+    }
+
+LDAP_SETTINGS = { 'login_attr' : 'cn'
+                , 'rdn_attr' : 'cn'
+                , 'users_base' : 'ou=people,dc=zope,dc=org'
+                , 'users_scope' : 2
+                , 'groups_base' : 'ou=www.zope.org,ou=websites,ou=groups,dc=zope,dc=org'
+                , 'groups_scope' : 2
+                , 'bind_uid' : 'cn=Manager,dc=zope,dc=org'
+                , 'bind_pwd' : '5ecret'
+                , 'default_roles' : 'Anonymous'
+                , 'use_cookies' : 0
+                , 'objectClasses' : 'top,zopeOrgPerson'
+                }
 
 #
 # Initialize the log
@@ -69,41 +69,36 @@
 # the external method object to be instantiated and run in Zope
 #########################################################
 
-# def setupZopeOrgMembership( self ):
-#     """ The central conversion method """
-#     log.append('Starting LDAP Membership conversion\n')
-
-#     # Find the portal to be modified. It is assumed that the external method
-#     # is instantiated at the root of the portal.
-#     portal = self
-#     if portal.meta_type != 'CMF Site':
-#         return 'You are not running this method inside a CMF Portal Instance!'
-#     else:
-#         log.append('Found CMF Site') # at %s' % portal.absolute_url())
-
-
-#     # Instantiate tools that are not in the standard CMF site
-#     log.append('\n * Instantiating Tools in the portal:')
-#     for tool_tuple in TOOL_CLASSES:
-#         registerTool(portal, tool_tuple)
-
-#     # Making LDAP Schema mods to the LDAPUserManager and LDAPLoginAdapter
-#     log.append('\n * Modifying LDAP tools for our LDAP schema')
-#     modifyLDAPTools(portal)
-
-#     # Register the skins directories as Filesystem Directory View
-#     # in the skins tool (portal_skins)
-#     log.append('\n * Registering skins directories with the Skins Tool:')
-#     registerSkins(portal)
-        
-#     log.append('\nFinished conversion process!\n\n')
-    
-#     return string.join(log, '\n') 
-
 def setupZopeOrgMembership( self ):
     """ The central conversion method """
-    log.append('LDAP Membership was disabled for now.\n')
-    return string.join(log, '\n')     
+    log.append('Starting LDAP Membership conversion\n')
+
+    # Find the portal to be modified. It is assumed that the external method
+    # is instantiated at the root of the portal.
+    portal = self
+    if portal.meta_type != 'CMF Site':
+        return 'You are not running this method inside a CMF Portal Instance!'
+    else:
+        log.append('Found CMF Site') # at %s' % portal.absolute_url())
+
+
+    # Instantiate tools that are not in the standard CMF site
+    log.append('\n * Instantiating Tools in the portal:')
+    for tool_tuple in TOOL_CLASSES:
+        registerTool(portal, tool_tuple)
+
+    #### Making LDAP Schema mods to the LDAPUserManager and LDAPLoginAdapter
+    ###log.append('\n * Modifying LDAP tools for our LDAP schema')
+    ###modifyLDAPTools(portal)
+
+    #### Register the skins directories as Filesystem Directory View
+    #### in the skins tool (portal_skins)
+    ###log.append('\n * Registering skins directories with the Skins Tool:')
+    ###registerSkins(portal)
+      
+    log.append('\nFinished conversion process!\n\n')
+  
+    return string.join(log, '\n') 
 
 #
 # Helper methods to register varous components with the CMF machinery
@@ -115,19 +110,24 @@
     tool_obj = tool_tuple[1]()
 
     if hasattr(portal_obj, tool_id):
+        tool = getattr(portal_obj, tool_id)
+        existing_actions = getattr(tool, '_actions', [])
+
         if tool_id == 'portal_memberdata':
-            tool = getattr(portal_obj, tool_id)
             existing_membership = tool._members
+
         portal_obj._delObject(tool_id)
 
     if tool_id == 'portal_membership':
         manage_addZopeOrgMembershipTool(portal_obj)
         tool = getattr(portal_obj, tool_id)
         tool.memberareaCreationFlag = 1
+        tool._actions = existing_actions
     elif tool_id == 'portal_memberdata':
         manage_addZopeOrgMemberDataTool(portal_obj)
         tool = getattr(portal_obj, tool_id)
         tool._members = existing_membership
+        tool._actions = existing_actions
     else:
         portal_obj._setObject(tool_id, tool_obj)
 





More information about the zopeorg-checkins mailing list