[zopeorg-checkins] CVS: Products/ZopeOrg-NV - Installer.py:1.4
Sidnei da Silva
sidnei at x3ng.com.br
Sat Jun 28 10:19:40 EDT 2003
Update of /cvs-zopeorg/Products/ZopeOrg-NV
In directory cvs.zope.org:/tmp/cvs-serv2851
Modified Files:
Installer.py
Log Message:
Replace MemberData and Membership Tool at creation time
=== Products/ZopeOrg-NV/Installer.py 1.3 => 1.4 ===
from Products.ZopeOrg import zopeorg_globals
from Products.ZopeOrg.ZopeOrgTypes import ftis
+from Products.ZopeOrg.Extensions.NZOMigrate import copyProperties
from Products.ZCTextIndex import ZCTextIndex
from Products.PluginIndexes.DateIndex.DateIndex import DateIndex
@@ -20,7 +21,8 @@
from Products.ExternalMethod.ExternalMethod import ExternalMethod
from Products.QueueCatalog import QueueCatalog
-
+from Products.CMFLDAP.PloneLDAPMembershipTool import PloneLDAPMembershipTool
+from Products.CMFLDAP.LDAPMemberDataTool import LDAPMemberDataTool
def register(context, app_state):
addPolicy('Zope.org Policy', ZopeOrgPolicy())
@@ -173,6 +175,12 @@
self.log('Replacing Portal Catalog Tool with QueueCatalog....')
self.replaceCatalogTool(portal)
+ self.log('Replacing Portal Membership Tool with LDAP version....')
+ self.replaceMembershipTool(portal)
+
+ self.log('Replacing Portal MemberData Tool with LDAP version....')
+ self.replaceMemberDataTool(portal)
+
self.log('Modifying Catalog Indexes and Metadata....')
self.catalogAddEffectiveRange(portal)
self.catalogAddIndexes(portal)
@@ -430,6 +438,39 @@
portal._objects = objmap
self.log(' - Replaced Portal Catalog tool with QueueCatalog')
+
+ def replaceMembershipTool(self, portal):
+ """Replace the membership tool if necessary"""
+ p_member = getattr(portal, 'portal_membership')
+
+ if isinstance(p_member, PloneLDAPMembershipTool):
+ self.log(' - Portal Membership tool already LDAP-ized')
+ return
+
+ actions = p_member._cloneActions()
+ portal.manage_delObjects(ids=('portal_membership'))
+ portal.manage_addProduct['CMFLDAP'].manage_addTool('Plone LDAP Membership Tool', None)
+ p_member = getattr(portal, 'portal_membership')
+ p_member._actions = tuple(actions)
+
+ self.log(' - Replaced Membership tool with LDAP-ized version')
+
+ def replaceMemberDataTool(self, portal):
+ """Replace the memberdata tool if necessary"""
+ p_data = getattr(portal, 'portal_memberdata')
+
+ if isinstance(p_data, LDAPMemberDataTool):
+ self.log(' - Portal MemberData tool already LDAP-ized')
+ return
+
+ actions = p_data._cloneActions()
+ portal.manage_delObjects(ids=('portal_memberdata'))
+ portal.manage_addProduct['CMFLDAP'].manage_addTool('LDAP Member Data Tool', None)
+ new = getattr(portal, 'portal_memberdata')
+ new._actions = tuple(actions)
+ copyProperties(p_data, new)
+
+ self.log(' - Replaced MemberData tool with LDAP-ized version')
def catalogAddIndexes(self, portal):
""" Add Indexes to the portal catalog """
More information about the zopeorg-checkins
mailing list