def afterSetUp(self): self.setRoles(('Manager', )) #make a collection self.collection = self._createType(self.folder, 'Topic', 'collection') crit = self.collection.addCriterion('portal_type', 'ATSimpleStringCriterion') crit.setValue('Folder') #Ensure folders can have personleadimages self.loginAsPortalOwner() prefs = ILeadImagePrefsForm(self.portal) types = list(prefs.allowed_types) if not 'Folder' in types: types.append('Folder') prefs.allowed_types = types self.logout() self.login() # add a folder folder1 = self._createType(self.folder, 'Folder', 'folder_1') #Add personleadimage to folder test_image = os.path.join(os.path.dirname(__file__), 'test_41x41.jpg') raw_image = open(test_image, 'rb').read() field = folder1.getField(IMAGE_FIELD_NAME) field.set(folder1, raw_image) folder1.reindexObject()
def afterSetUp(self): self.setRoles(('Manager', )) #make a collection self.collection = self._createType(self.folder, 'Topic', 'collection') crit = self.collection.addCriterion('portal_type', 'ATSimpleStringCriterion') crit.setValue('Folder') #Ensure folders can have contentleadimages self.loginAsPortalOwner() prefs = ILeadImagePrefsForm(self.portal) types = list(prefs.allowed_types) if not 'Folder' in types: types.append('Folder') prefs.allowed_types = types self.logout() self.login() # add a folder folder1 = self._createType(self.folder, 'Folder', 'folder_1') #Add contentleadimage to folder test_image = os.path.join(os.path.dirname(__file__), 'test_41x41.jpg') raw_image = open(test_image, 'rb').read() field = folder1.getField(IMAGE_FIELD_NAME) field.set(folder1, raw_image) folder1.reindexObject()
def migrate_foldertypes(site): cli_prefs = ILeadImagePrefsForm(site) allowed_cli = list(cli_prefs.allowed_types) allowed_cli.append('CSCSContent') cli_prefs.allowed_types = allowed_cli foldertypes = ['Announcements', 'AnnouncementsFolder', 'AudioFiles', 'CoursesFolder', 'Courses', 'CSCSEventsFolder', 'CSCSEvents', 'DataArchive', 'DataBoxs', 'FAQs', 'Fellowships', 'IRPs', 'LibraryServices', 'MediaServices', 'Modules', 'MovingImages', 'OtherFiles', 'Papers', 'Photos', 'PublicationsFolder', 'Publications', 'TextFiles'] set_linkintegrity(False) migrators = [CSCSObjectMigrator] for t in foldertypes: m = type('%sMigrator' % t, (FolderMigrator,), {}) m.src_meta_type = t m.src_portal_type = t migrators.append(m) #Run the migrations for migrator in migrators: logger.info("-- Migrating %ss --\n\n" % migrator.src_meta_type) walker = migrator.walker(site, migrator) walker.go() logger.info(walker.getOutput()) site.portal_types.manage_delObjects(foldertypes) set_linkintegrity(True)