from Products.ATContentTypes.content.schemata import ATContentTypeSchema from Products.ATContentTypes.content.schemata import NextPreviousAwareSchema from Products.ATContentTypes.content.schemata import finalizeATCTSchema from Products.ATContentTypes.lib.constraintypes import \ ConstrainTypesMixinSchema from Products.ATContentTypes.content.base import ATCTFolderMixin from Products.ATContentTypes.content.base import registerATCT from plone.app.folder import packageName from plone.app.folder.base import BaseBTreeFolder from plone.app.folder.bbb import IArchivable, IPhotoAlbumAble from plone.app.folder.bbb import folder_implements ATFolderSchema = ATContentTypeSchema.copy() + \ ConstrainTypesMixinSchema.copy() + NextPreviousAwareSchema.copy() finalizeATCTSchema(ATFolderSchema, folderish=True, moveDiscussion=False) class IATUnifiedFolder(IATFolder): """ marker interface for the new, unified folders """ class ATFolder(ATCTFolderMixin, BaseBTreeFolder): """ a folder suitable for holding a very large number of items """ implements(IATUnifiedFolder, IATBTreeFolder, IArchivable, IPhotoAlbumAble) __implements__ = folder_implements schema = ATFolderSchema security = ClassSecurityInfo()
from Products.ATContentTypes.content import schemata from Products.ATContentTypes.content.schemata import NextPreviousAwareSchema try: from Products.LinguaPlone import public as atapi except ImportError: # No multilingual support from Products.Archetypes import atapi from ftw.book import _ from ftw.book.config import PROJECTNAME from ftw.book.interfaces import IBook from zope.interface import implements from zope.schema.vocabulary import getVocabularyRegistry BookSchema = (folder.ATFolderSchema.copy() + NextPreviousAwareSchema.copy() + atapi.Schema(( atapi.IntegerField( name='web_toc_depth', default=0, searchable=False, widget=atapi.IntegerWidget( label=_(u'label_web_toc_depth', default=u'Table of contents depth'), description=_(u'help_web_toc_depth', default=u''))), atapi.StringField( name='latex_layout', required=True,
from Products.ATContentTypes.content import folder from Products.ATContentTypes.content.schemata import finalizeATCTSchema from Products.ATContentTypes.content.schemata import NextPreviousAwareSchema from Products.ATContentTypes.lib.constraintypes import ConstrainTypesMixinSchema from Products.CMFCore.utils import getToolByName from Products.CMFPlone.utils import safe_unicode from zope.interface import implements, directlyProvides from zope.schema.interfaces import IVocabularyFactory from zope.schema.vocabulary import SimpleVocabulary # Maximum number of protocols that we'll allow to all have the same title. MAX_PROTOCOL_INDEX = 100 # To support CA-586, we'll make "description" a computed field whose value comes from # the abstract, objectives, aims, or results outcome. ProtocolSchema = knowledgeobject.KnowledgeObjectSchema.copy() + ConstrainTypesMixinSchema.copy() + NextPreviousAwareSchema.copy() del ProtocolSchema['description'] ProtocolSchema += atapi.Schema(( atapi.ComputedField( 'description', accessor='Description', allowable_content_types=('text/plain',), default=u'', default_content_type='text/plain', expression='context._computeDescription()', searchable=True, widget=atapi.ComputedWidget( visible={'edit': 'invisible', 'view': 'invisible'}, ), ), atapi.TextField(
from Products.ATContentTypes.content import folder from Products.ATContentTypes.content import schemata from Products.ATContentTypes.content.schemata import NextPreviousAwareSchema try: from Products.LinguaPlone import public as atapi except ImportError: # No multilingual support from Products.Archetypes import atapi from ftw.book import _ from ftw.book.config import PROJECTNAME from ftw.book.interfaces import IBook from zope.interface import implements from zope.schema.vocabulary import getVocabularyRegistry BookSchema = ( folder.ATFolderSchema.copy() + NextPreviousAwareSchema.copy() + atapi.Schema(( atapi.IntegerField(name='web_toc_depth', default=0, searchable=False, widget=atapi.IntegerWidget( label=_(u'label_web_toc_depth', default=u'Table of contents depth'), description=_(u'help_web_toc_depth', default=u''))), atapi.StringField( name='latex_layout', required=True, vocabulary_factory='ftw.book.layoutsVocabulary', default_method='getDefaultLaTeXLayout', widget=atapi.SelectionWidget(
from Products.ATContentTypes.content.base import ATCTFolderMixin from Products.ATContentTypes.content.base import registerATCT from Products.ATContentTypes.content.schemata import ATContentTypeSchema from Products.ATContentTypes.content.schemata import NextPreviousAwareSchema from Products.ATContentTypes.content.schemata import finalizeATCTSchema from Products.ATContentTypes.interfaces import IATBTreeFolder from Products.ATContentTypes.interfaces import IATFolder from Products.ATContentTypes.lib.constraintypes import ConstrainTypesMixinSchema from Products.CMFCore.permissions import View from plone.app.folder import packageName from plone.app.folder.base import BaseBTreeFolder from zope.interface import implementer ATFolderSchema = ATContentTypeSchema.copy() + \ ConstrainTypesMixinSchema.copy() + NextPreviousAwareSchema.copy() finalizeATCTSchema(ATFolderSchema, folderish=True, moveDiscussion=False) class IATUnifiedFolder(IATFolder): """ marker interface for the new, unified folders """ @implementer(IATUnifiedFolder, IATBTreeFolder) class ATFolder(ATCTFolderMixin, BaseBTreeFolder): """ a folder suitable for holding a very large number of items """ schema = ATFolderSchema security = ClassSecurityInfo() portal_type = 'Folder'