Пример #1
0
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()
Пример #2
0
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,
Пример #3
0
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(
Пример #4
0
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(
Пример #5
0
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'