Skip to content

Instantly share code, notes, and snippets.

@maethu
Created April 15, 2014 13:57
Show Gist options
  • Save maethu/10734934 to your computer and use it in GitHub Desktop.
Save maethu/10734934 to your computer and use it in GitHub Desktop.
from AccessControl.SecurityManagement import newSecurityManager
from Testing.makerequest import makerequest
from zope.app.component.hooks import setSite
from Products.CMFCore.utils import getToolByName
import transaction
# we need to get a super user security and a request
user = app.acl_users.getUser(USERNAME)
user = user.__of__(app.acl_users)
newSecurityManager(app, user)
app=makerequest(app)
plone_sites = []
def getNextLevels(nextlevel):
if nextlevel.meta_type == 'Plone Site':
plone_sites.append(nextlevel)
print "Got: %s" % plone.absolute_url()
else:
for item in nextlevel.objectValues():
try:
if item.meta_type in ['Folder', 'Plone Site']:
getNextLevels(item)
else:
continue
except: pass
getNextLevels(app)
for plone in plone_sites:
try:
ldapuserfolder = plone.acl_users.ldap.acl_users
if len(ldapuserfolder.getServers()) != 1:
import pdb;pdb.set_trace()
continue
ldapuserfolder.manage_deleteServers([0])
ldapuserfolder.manage_addServer(SERVER, port=PORT, use_ssl=1)
ldapuserfolder.manage_reinit()
assert len(ldapuserfolder.getServers()) == 2
transaction.commit()
print "Successfully upgrade ldap server config of %s" % plone.absolute_url()
except Exception, e:
print "*" * 20
print "Could not update ldap plugin of %s " % plone
print "*" * 20
print str(e)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment