def initialize(context):
    # process our custom types
    if HAS_LINGUA_PLONE:
        from Products.LinguaPlone.public import process_types
        from Products.LinguaPlone.public import listTypes
    else:
        from Products.Archetypes.atapi import process_types
        from Products.Archetypes.atapi import listTypes

    ToolInit('ATContentTypes tool',
             tools=(ATCTTool, FactoryTool, MetadataTool),
             icon='tool.gif').initialize(context)

    listOfTypes = listTypes(PROJECTNAME)

    content_types, constructors, ftis = process_types(
        listOfTypes,
        PROJECTNAME)

    # Assign an own permission to all content types
    # Heavily based on Bricolite's code from Ben Saller
    from Products.ATContentTypes.permission import permissions

    allTypes = zip(content_types, constructors)
    for atype, constructor in allTypes:
        kind = "%s: %s" % (PROJECTNAME, atype.archetype_name)
        ContentInit(
            kind,
            content_types=(atype,),
            permission=permissions[atype.portal_type],
            extra_constructors=(constructor,),
            ).initialize(context)
Exemplo n.º 2
0
def initialize(context):
    # process our custom types
    if HAS_LINGUA_PLONE:
        from Products.LinguaPlone.public import process_types
        from Products.LinguaPlone.public import listTypes
    else:
        from Products.Archetypes.atapi import process_types
        from Products.Archetypes.atapi import listTypes

    ToolInit(
        'ATContentTypes tool',
        tools=(ATCTTool,),
        icon='tool.gif', ).initialize(context)

    listOfTypes = listTypes(PROJECTNAME)

    content_types, constructors, ftis = process_types(
        listOfTypes,
        PROJECTNAME)

    # Assign an own permission to all content types
    # Heavily based on Bricolite's code from Ben Saller
    from Products.ATContentTypes.permission import permissions

    allTypes = zip(content_types, constructors)
    for atype, constructor in allTypes:
        kind = "%s: %s" % (PROJECTNAME, atype.archetype_name)
        ContentInit(
            kind,
            content_types=(atype,),
            permission=permissions[atype.portal_type],
            extra_constructors=(constructor,),
            ).initialize(context)
Exemplo n.º 3
0
def initialize(context):
    """Register content types through Archetypes with Zope and the CMF."""

    content_types, constructors, ftis = atapi.process_types(
        atapi.listTypes(config.PROJECTNAME),
        config.PROJECTNAME)

    for atype, constructor in zip(content_types, constructors):
        utils.ContentInit(
            "%s: %s" % (config.PROJECTNAME, atype.portal_type),
            content_types=(atype,),
            permission=config.ADD_PERMISSIONS[atype.portal_type],
            extra_constructors=(constructor,),
        ).initialize(context)
Exemplo n.º 4
0
def initialize(context):
    """Register content types through Archetypes with Zope and the CMF.
    """

    content_types, constructors, ftis = atapi.process_types(
        atapi.listTypes(config.PROJECTNAME),
        config.PROJECTNAME)

    for atype, constructor in zip(content_types, constructors):
        utils.ContentInit(
            "%s: %s" % (config.PROJECTNAME, atype.portal_type),
            content_types=(atype,),
            permission=config.ADD_PERMISSIONS[atype.portal_type],
            extra_constructors=(constructor,),
        ).initialize(context)
Exemplo n.º 5
0
def initialize(context):
    """Register content types through Archetypes with Zope and the CMF.
    """
    from collective.folderishtypes.at import content  # nopep8

    content_types, constructors, ftis = atapi.process_types(
        atapi.listTypes(PROJECTNAME), PROJECTNAME
    )

    for atype, constructor in zip(content_types, constructors):
        utils.ContentInit(
            "%s: %s" % (PROJECTNAME, atype.portal_type),
            content_types=(atype,),
            permission=ADD_PERMISSIONS[atype.portal_type],
            extra_constructors=(constructor,),
        ).initialize(context)
def initialize(context):

    import EntiCriteria
    listOfTypes = listTypes(PROJECTNAME)
    content_types, constructors, ftis = process_types(listOfTypes, PROJECTNAME)

    from redturtle.entiterritoriali.config import default_permission

    allTypes = zip(content_types, constructors)
    for atype, constructor in allTypes:
        kind = "%s: %s" % (PROJECTNAME, atype.archetype_name)
        ContentInit(
            kind,
            content_types=(atype, ),
            permission=default_permission,
            extra_constructors=(constructor, ),
        ).initialize(context)
def initialize(context):

    import ContentPanels
    content_types, constructors, ftis = process_types(
        listTypes(PROJECTNAME),
        PROJECTNAME)

    utils.ContentInit(
        PROJECTNAME + ' Content',
        content_types      = content_types,
        permission         = ADD_CONTENT_PERMISSION,
        extra_constructors = constructors,
        fti                = ftis,
        ).initialize(context)

    utils.ToolInit('CMF ContentPanels Tool', tools=(ContentPanelsTool,),
                 product_name='CMFContentPanels', icon='tool.gif',
                 ).initialize( context )
Exemplo n.º 8
0
def initialize(context):
    """Initializer called when used as a Zope 2 product."""
    from Products.CMFCore.utils import ContentInit
    try:
        from Products.LinguaPlone import public as atapi
    except ImportError:
        from Products.Archetypes import atapi

    from .table import Table

    content_types, constructors, ftis = atapi.process_types(
        atapi.listTypes(config.PROJECTNAME), config.PROJECTNAME)
    for atype, constructor in zip(content_types, constructors):
        ContentInit('%s: %s' % (config.PROJECTNAME, atype.meta_type),
            content_types=(atype,),
            permission=config.ADD_PERMISSION,
            extra_constructors=(constructor,),
        ).initialize(context)
Exemplo n.º 9
0
def initialize(context):
    """Register content types through Archetypes with Zope and the CMF.
    """
    from Products.CMFCore.utils import ContentInit
    from plone.app.event.at import content  # nopep8

    content_types, constructors, ftis = atapi.process_types(
        atapi.listTypes(packageName), packageName)

    assert len(content_types) == 1, 'only one new event, please!'

    for atype, constructor, fti in zip(content_types, constructors, ftis):
        ContentInit(
            "%s: %s" % (packageName, atype.portal_type),
            content_types=(atype,),
            permission=ADD_PERMISSION,
            extra_constructors=(constructor,),
            fti=(fti,),
        ).initialize(context)
def initialize(context):

    import EntiCriteria
    listOfTypes = listTypes(PROJECTNAME)
    content_types, constructors, ftis = process_types(
        listOfTypes,
        PROJECTNAME)

    from redturtle.entiterritoriali.config import default_permission

    allTypes = zip(content_types, constructors)
    for atype, constructor in allTypes:
        kind = "%s: %s" % (PROJECTNAME, atype.archetype_name)
        ContentInit(
            kind,
            content_types      = (atype,),
            permission         = default_permission,
            extra_constructors = (constructor,),
            ).initialize(context)
Exemplo n.º 11
0
def initialize(context):
    # Apply monkey patches
    from Products.LinguaPlone import patches
    patches  # pyflakes

    # Initialize content types
    from Products.LinguaPlone.public import listTypes
    from Products.LinguaPlone.public import process_types
    content_types, constructors, ftis = process_types(listTypes("LinguaPlone"),
                                                      "LinguaPlone")

    from Products.CMFCore.utils import ContentInit
    from Products.LinguaPlone import permissions
    ContentInit(
        'LinguaPlone Content',
        content_types=content_types,
        permission=permissions.AddPortalContent,
        extra_constructors=constructors,
        fti=ftis,
    ).initialize(context)

    from Products.LinguaPlone import LanguageIndex
    context.registerClass(
        LanguageIndex.LanguageIndex,
        permission=permissions.AddLanguageIndex,
        constructors=(LanguageIndex.manage_addLanguageIndexForm,
                      LanguageIndex.manage_addLanguageIndex),
        icon='www/index.png',
        visibility=None)

    # Make selection criteria available for the LanguageIndex
    from Products.ATContentTypes.criteria import _criterionRegistry
    from Products.ATContentTypes.criteria.selection import ATSelectionCriterion
    crit_id = ATSelectionCriterion.meta_type
    crit_reg = _criterionRegistry
    index = LanguageIndex.LanguageIndex.meta_type

    indices = crit_reg.criterion2index.get(crit_id, ())
    crit_reg.criterion2index[crit_id] = indices + (index, )

    value = crit_reg.index2criterion.get(index, ())
    crit_reg.index2criterion[index] = value + (crit_id, )
Exemplo n.º 12
0
def initialize(context):
    # Apply monkey patches
    from Products.LinguaPlone import patches
    patches # pyflakes

    # Initialize content types
    from Products.LinguaPlone.public import listTypes
    from Products.LinguaPlone.public import process_types
    content_types, constructors, ftis = process_types(
        listTypes("LinguaPlone"), "LinguaPlone")

    from Products.CMFCore.utils import ContentInit
    from Products.LinguaPlone import permissions
    ContentInit(
        'LinguaPlone Content',
        content_types = content_types,
        permission = permissions.AddPortalContent,
        extra_constructors = constructors,
        fti = ftis,
    ).initialize(context)

    from Products.LinguaPlone import LanguageIndex
    context.registerClass(
        LanguageIndex.LanguageIndex,
        permission=permissions.AddLanguageIndex,
        constructors=(LanguageIndex.manage_addLanguageIndexForm,
                      LanguageIndex.manage_addLanguageIndex),
        icon='www/index.png',
        visibility=None)

    # Make selection criteria available for the LanguageIndex
    from Products.ATContentTypes.criteria import _criterionRegistry
    from Products.ATContentTypes.criteria.selection import ATSelectionCriterion
    crit_id = ATSelectionCriterion.meta_type
    crit_reg = _criterionRegistry
    index = LanguageIndex.LanguageIndex.meta_type

    indices = crit_reg.criterion2index.get(crit_id, ())
    crit_reg.criterion2index[crit_id] = indices + (index, )

    value = crit_reg.index2criterion.get(index, ())
    crit_reg.index2criterion[index] = value + (crit_id, )
Exemplo n.º 13
0
def initialize(context):

    contentTypes, constructors, ftis = process_types(
        listTypes(PROJECTNAME), PROJECTNAME)

    ContentInit(
        PROJECTNAME + ' Content',
        content_types      = contentTypes,
        permission         = DEFAULT_ADD_CONTENT_PERMISSION,
        extra_constructors = constructors,
        fti                = ftis,
        ).initialize(context)

    for i in range(0, len(contentTypes)):
        klassname = contentTypes[i].__name__
        if not klassname in ADD_CONTENT_PERMISSIONS:
            continue
        context.registerClass(
            meta_type    = ftis[i]['meta_type'],
            constructors = (constructors[i],),
            permission   = ADD_CONTENT_PERMISSIONS[klassname]
            )

    # register custom indexers for relateditems fields
    from zope.component import provideAdapter
    from plone.indexer.decorator import indexer
    from marsapp.content.interfaces import IMarsObject
    from marsapp.content.schemata import vocabularies
    from Products.Archetypes.interfaces.field import IReferenceField
    from Products.CMFCore.utils import getToolByName
    # allow us to index all related fields on title & desc
    for ct in contentTypes:
        for key in ct.schema.keys():
            field = ct.schema[key]
            if (IReferenceField.providedBy(field) 
                and not key
                in vocabularies.REFERENCEFIELDS_INDEXES):
                vocabularies.REFERENCEFIELDS_INDEXES[key] = []
                if (not field.accessor 
                    in vocabularies.REFERENCEFIELDS_INDEXES[
                        key]):
                    vocabularies.REFERENCEFIELDS_INDEXES[
                        key].append(
                            field.accessor
                        )
    def make_reindex_related(index_name):
        iname = index_name
        def reindex_related(obj, *args, **kwargs):
            catalog = getToolByName(obj, 'reference_catalog')
            inamee = iname
            if not inamee in obj.schema.keys():
                return
            field = obj.getField(iname)
            items = field.getRaw(obj)
            indexed = []
            res = ''
            if bool(items):
                if isinstance(items, list):
                    indexed.extend(items)
                else:
                    indexed.append(items)
            for sitem in indexed:
                item = catalog.lookupObject(sitem)
                if isinstance(item, MarsCategory):
                    try:
                        res +=  ' / '.join(item.cats_path())
                    except:
                        pass 
                else:
                    try:
                        res += ' %s' % item.Title()
                    except:
                        pass
                try:
                    res += ' %s' % item.Description()
                except:
                    pass
                try:
                    res += ' %s' % item.description
                except:
                    pass 
            if not res:
                res = None
            return res
        return reindex_related
    for field in vocabularies.REFERENCEFIELDS_INDEXES:
        frn = indexer(IMarsObject)(make_reindex_related(field))
        for accessor in vocabularies.REFERENCEFIELDS_INDEXES[field]:
            provideAdapter(frn, name=accessor)