#-*- mode: python; mode: fold -*- from Globals import InitializeClass from AccessControl import ClassSecurityInfo from Products.CMFCore.utils import UniqueObject, getToolByName from Products.CMFCore.permissions import View from Products.CMFCore.permissions import ModifyPortalContent from Products.CPSCore.CPSBase import CPSBase_adder, CPSBaseFolder #from Products.CPSCore.CPSBase import CPSBaseDocument as BaseDocument from Products.CPSDocument.CPSDocument import CPSDocument from Products.CPSCore.CPSBase import CPSBaseBTreeFolder as BaseBTreeFolder accofolder_fti = { ###( 'title': 'WAeUP AccoFolder', 'description': '', 'content_icon': '', 'content_meta_type': 'AccoFolder', 'factory': 'addAccoFolder', 'immediate_view': 'cpsdocument_view', 'global_allow': True, 'filter_content_types': True, 'allowed_content_types': ('Accommodation',), 'allow_discussion': False, } ###) class AccoFolder(CPSDocument): ###( """ WAeUP AccoFolder containing Accommodation halls """ meta_type = 'AccoFolder' portal_type = meta_type security = ClassSecurityInfo() InitializeClass(AccoFolder) def addAccoFolder(container, id, REQUEST=None, **kw): """Add a AccoFolder.""" ob = AccoFolder(id, **kw) return CPSBase_adder(container, ob, REQUEST=REQUEST) ###) accommodation_fti = { ###( 'title': 'WAeUP Accommodation', 'description': '', 'content_icon': '', 'content_meta_type': 'Accommodation', 'factory': 'addAccommodation', 'immediate_view': 'cpsdocument_view', 'global_allow': True, 'filter_content_types': True, 'allowed_content_types': (), 'allow_discussion': False, } ###) class Accommodation(CPSDocument): ###( """ WAeUP Accommodation containing Departments """ meta_type = 'Accommodation' portal_type = meta_type security = ClassSecurityInfo() security.declareProtected(View,"Title") def Title(self): """compose title""" content = self.getContent() heading = getattr(content,'heading',None) if heading is None: return self.title return heading InitializeClass(Accommodation) def addAccommodation(container, id, REQUEST=None, **kw): """Add a Accommodation.""" ob = Accommodation(id, **kw) return CPSBase_adder(container, ob, REQUEST=REQUEST) ###)