Пример #1
0
def migrate_members(self):
    portal = getToolByName(self, 'portal_url').getPortalObject()
    walker = CatalogWalker(portal, MemberMigrator)
    transaction.commit(1)
    
    walker.go()

    tmtool= getToolByName(self, 'portal_teams')
    for m_id, tm_ids in team_map.items():
        for tm_id in tm_ids:
            tm = tmtool.getTeamById(tm_id)
            tm.addMember(m_id)

    return "Done."
def migrate_wickeddoc_openpage(self):
    catalog = getToolByName(self, 'portal_catalog')
    portal = getToolByName(self, 'portal_url').getPortalObject()
    out = []

    migrator = OpenPageMigrator
    out.append('*** Migrating %s to %s ***\n' % (migrator.src_portal_type,
                                                 migrator.dst_portal_type))
    try:
        w = CatalogWalker(migrator, portal) # ATCT-0.2
    except AttributeError:
        w = CatalogWalker(portal, migrator) # ATCT-1.0
    w_result = w.go()
    if type(w_result) == type(''):
        out.append(w_result) # ATCT-0.2
    else:
        out.append('%s Migrated\n' % migrator.src_portal_type)

    wf = getToolByName(self, 'portal_workflow')
    count = wf.updateRoleMappings()
    out.append('Workflow: %d object(s) updated.' % count)

    catalog.refreshCatalog(clear=1)
    out.append('Portal catalog updated.')

    ttool = getToolByName(self, 'portal_types')
    doc_fti = ttool.getTypeInfo('Document')
    if doc_fti.Metatype() != 'OpenPage':
        atct_tool = getToolByName(self, 'portal_atct')
        if ttool.hasObject('WickedDoc'):
            ttool.manage_delObjects('WickedDoc')
        get_transaction().commit(1)
        atct_tool._changePortalTypeName('Document', 'WickedDoc',
                                        global_allow=0,
                                        title='WickedDoc')
        get_transaction().commit(1)
        atct_tool._changePortalTypeName('OpenPage', 'Document',
                                        global_allow=1,
                                        title='Page')
        out.append('Document types switched')

    return '\n'.join(out)
Пример #3
0
def migrate_atdoc_wickeddoc(self):
    catalog = getToolByName(self, 'portal_catalog')
    portal = getToolByName(self, 'portal_url').getPortalObject()
    out = []

    migrator = WickedDocMigrator
    out.append('*** Migrating %s to %s ***\n' %
               (migrator.src_portal_type, migrator.dst_portal_type))
    try:
        w = CatalogWalker(migrator, portal)  # ATCT-0.2
    except AttributeError:
        w = CatalogWalker(portal, migrator)  # ATCT-1.0
    w_result = w.go()
    if type(w_result) == type(''):
        out.append(w_result)  # ATCT-0.2
    else:
        out.append('%s Migrated\n' % migrator.src_portal_type)

    wf = getToolByName(self, 'portal_workflow')
    count = wf.updateRoleMappings()
    out.append('Workflow: %d object(s) updated.' % count)

    catalog.refreshCatalog(clear=1)
    out.append('Portal catalog updated.')

    ttool = getToolByName(self, 'portal_types')
    doc_fti = ttool.getTypeInfo('Document')
    if doc_fti.Metatype() != 'WickedDoc':
        atct_tool = getToolByName(self, 'portal_atct')
        get_transaction().commit(1)
        atct_tool._changePortalTypeName('Document',
                                        'ATDocument',
                                        global_allow=0,
                                        title='AT Document')
        get_transaction().commit(1)
        atct_tool._changePortalTypeName('WickedDoc',
                                        'Document',
                                        global_allow=1,
                                        title='Page')
        out.append('Document types switched')

    return '\n'.join(out)