from AccessControl import ClassSecurityInfo from Products.Archetypes.public import * from Products.CMFCore.utils import UniqueObject from config import PROJECTNAME, CATEGORY_METATYPE, LIBRARY_METATYPE, VIDEO_LIBRARY_ID # XXX See http://codespeak.net/issues/railroad/issue10 #class Library(UniqueObject, BaseFolder): class Library(BaseFolder): security = ClassSecurityInfo() portal_type = meta_type = LIBRARY_METATYPE archetype_name = 'Video Library' #this name appears in the 'add' box schema = BaseFolderSchema + Schema((),) factory_type_information={ 'allowed_content_types':(CATEGORY_METATYPE,) , 'allow_discussion': 0, 'immediate_view':'base_view', 'global_allow':1, 'filter_content_types':1, } actions= ( {'action': '''string:$object_url/base_edit''', 'category': '''object''', 'id': 'edit', 'name': 'Edit', 'permissions': ('''Modify portal content''',), 'condition' : 'python: True'}, ) id = VIDEO_LIBRARY_ID def containedCategories(self): return self.objectValues((CATEGORY_METATYPE,)) # XXX See http://codespeak.net/issues/railroad/issue10 #def addLibrary(self, id, **kwargs): # o = Library(VIDEO_LIBRARY_ID) # self._setObject(VIDEO_LIBRARY_ID, o) # o = getattr(self, VIDEO_LIBRARY_ID) # o.initializeArchetype(**kwargs) # return VIDEO_LIBRARY_ID registerType(Library, PROJECTNAME)