from zope.component import getUtility
from zope.component import getMultiAdapter
from plone.portlets.interfaces import IPortletManager
from plone.portlets.interfaces import IPortletAssignmentMapping
from plone.app.portlets.portlets import search
def setupVarious(context):
# Ordinarily, GenericSetup handlers check for the existence of XML files.
# Here, we are not parsing an XML file, but we use this text file as a
# flag to check that we actually meant for this import step to be run.
# The file is found in profiles/default.
if context.readDataFile('arboco.theme_various.txt') is None:
return
# Add additional setup code here
site = context.getSite()
column = getUtility(IPortletManager, name=u'plone.rightcolumn', context=site)
manager = getMultiAdapter((site, column,), IPortletAssignmentMapping)
for name, portlet in list(manager.items()):
if portlet.title in [u"Events", u"Calendar"]:
del manager[name]
manager[u'search']=search.Assignment()
names = list(manager.keys())
names.remove(u'search')
names.insert(0, u'search')
manager.updateOrder(names)