Пример #1
0
def initialize(context):
    from Products.CMFCore import utils

    utils.ToolInit(
        "%s Tool" % PKG_NAME,
        tools=tools,
        icon="tool.gif",
    ).initialize(context)

    if REGISTER_DEMO_TYPES:
        import Products.Archetypes.examples

        content_types, constructors, ftis = process_types(
            listTypes(PKG_NAME), PKG_NAME)

        utils.ContentInit(
            '%s Content' % PKG_NAME,
            content_types=content_types,
            permission=permissions.AddPortalContent,
            extra_constructors=constructors,
            fti=ftis,
        ).initialize(context)
    try:
        from Products.CMFCore.FSFile import FSFile
        from Products.CMFCore.DirectoryView import registerFileExtension
        registerFileExtension('xsl', FSFile)
        registerFileExtension('xul', FSFile)
    except ImportError:
        pass
Пример #2
0
def initialize(context):
    from Products.CMFCore import utils

    utils.ToolInit("%s Tool" % PKG_NAME, tools=tools,
                   icon="tool.gif",
                   ).initialize(context)

    if REGISTER_DEMO_TYPES:
        import Products.Archetypes.examples

        content_types, constructors, ftis = process_types(
            listTypes(PKG_NAME), PKG_NAME)

        utils.ContentInit(
            '%s Content' % PKG_NAME,
            content_types=content_types,
            permission=permissions.AddPortalContent,
            extra_constructors=constructors,
            fti=ftis,
            ).initialize(context)
    try:
        from Products.CMFCore.FSFile import FSFile
        from Products.CMFCore.DirectoryView import registerFileExtension
        registerFileExtension('xsl', FSFile)
        registerFileExtension('xul', FSFile)
    except ImportError:
        pass
    def invokeFactory(self, type_name, id, RESPONSE=None, *args, **kwargs):
        """Invokes the portal_types tool.

        Overrides PortalFolder.invokeFactory."""
        pt = getToolByName(self, 'portal_types')
        at = getToolByName(self, 'archetype_tool')
        fti = None
        for t in listTypes():
            if t['portal_type'] == type_name:
                fti = t
                break

        if fti is None:
            raise ValueError, "Type %r not available." % type_name

        if not at.typeImplementsInterfaces(fti, self.allowed_interfaces):
            raise ValueError, "Type %r does not implement any of %s." % \
                  (type_name, self.allowed_interfaces)

        args = (type_name, self, id, RESPONSE) + args
        new_id = pt.constructContent(*args, **kwargs)
        if not new_id:
            new_id = id

        return new_id
Пример #4
0
def initialize(context):
    registerMultiPlugin(plugin.JWTAuthenticationPlugin.meta_type)
    context.registerClass(
        plugin.JWTAuthenticationPlugin,
        permission=add_user_folders,
        constructors=(
            plugin.manage_addJWTAuthenticationPlugin,
            plugin.addJWTAuthenticationPlugin,
        ),
        visibility=None,
    )

    if HAS_AT and REGISTER_TEST_TYPES:
        from Products.Archetypes.ArchetypeTool import process_types, listTypes
        from Products.CMFCore import permissions
        from Products.CMFCore import utils
        from plone.restapi.tests.attypes import PROJECTNAME

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

        utils.ContentInit(
            "%s Content" % PROJECTNAME,
            content_types=content_types,
            permission=permissions.AddPortalContent,
            extra_constructors=constructors,
            fti=ftis,
        ).initialize(context)
Пример #5
0
 def items(self):
     return [(className(t['klass']),
              TypeDescription(
                  t['klass'],
                  title=t['name'],
                  package=t['package'],
                  module=t['module'],
              )) for t in listTypes()]
Пример #6
0
 def items(self):
     return [(className(t['klass']),
              TypeDescription(t['klass'],
                              title=t['name'],
                              package=t['package'],
                              module=t['module'],
                              )
              )
              for t in listTypes()]
Пример #7
0
 def listTypeInfo(self, ifaces):
     pt = getToolByName(self, "portal_types")
     value = []
     for data in listTypes():
         klass = data["klass"]
         for iface in ifaces:
             if iface.implementedBy(klass):
                 ti = pt.getTypeInfo(data["portal_type"])
                 if ti is not None:
                     value.append(ti)
     return value
Пример #8
0
def initialize(context):
    # Import content types here to register them:

    content_types, constructors, ftis = \
                   process_types(listTypes(PKG_NAME), PKG_NAME)

    from Products.CMFCore import utils
    utils.ContentInit(PKG_NAME + ' Content',
                      content_types=content_types,
                      permission=ADD_CONTENT_PERMISSION,
                      extra_constructors=constructors,
                      fti=ftis).initialize(context)
Пример #9
0
def initialize(context):
    # Import content types here to register them:

    content_types, constructors, ftis = \
                   process_types(listTypes(PKG_NAME), PKG_NAME)
    
    from Products.CMFCore import utils
    utils.ContentInit(PKG_NAME + ' Content',
                      content_types = content_types,
                      permission = ADD_CONTENT_PERMISSION,
                      extra_constructors = constructors,
                      fti = ftis).initialize(context)
Пример #10
0
 def _getTIsByInterfaces(self, ifaces):
     """Returns a list of type info objects of available (AT) portal types
     implementing iface."""
     pt = getToolByName(self, 'portal_types')
     value = []
     for data in listTypes():
         klass = data['klass']
         for iface in self.allowed_interfaces:
             if iface.implementedBy(klass):
                 ti = pt.getTypeInfo(data['portal_type'])
                 if ti is not None and ti.isConstructionAllowed(self):
                     value.append(ti)
     return value
Пример #11
0
 def _getTIsByInterfaces(self, ifaces):
     """Returns a list of type info objects of available (AT) portal types
     implementing iface."""
     pt = getToolByName(self, 'portal_types')
     value = []
     for data in listTypes():
         klass = data['klass']
         for iface in self.allowed_interfaces:
             if iface.implementedBy(klass):
                 ti = pt.getTypeInfo(data['portal_type'])
                 if ti is not None and ti.isConstructionAllowed(self):
                     value.append(ti)
     return value
Пример #12
0
def _getFtiAndDataFor(tool, typename, klassname, package_name):
    """helper method for type info setting
       returns fti object from the types tool and the data created
       by process_types for the fti
    """
    t = getattr(tool, typename, None)
    if t is None:
        return None, None
    all_ftis = process_types(listTypes(package_name), package_name)[2]
    for fti in all_ftis:
        if fti['id'] == klassname:
            fti['content_meta_type'] = fti['meta_type']
            return t, fti
    return t, None
Пример #13
0
def _getFtiAndDataFor(tool, typename, klassname, package_name):
    """helper method for type info setting
       returns fti object from the types tool and the data created
       by process_types for the fti
    """
    t = getattr(tool, typename, None)
    if t is None:
        return None, None
    all_ftis = process_types(listTypes(package_name),
                             package_name)[2]
    for fti in all_ftis:
        if fti['id'] == klassname:
            fti['content_meta_type'] = fti['meta_type']
            return t, fti
    return t, None
def initialize(context):
    """Initializer called when used as a Zope 2 product."""
    if 'ZOPETESTCASE' in os.environ:   # register demo type only when testing
        from Products.CMFCore import utils
        from Products.CMFCore import permissions
        from Products.Archetypes.ArchetypeTool import process_types, listTypes

        content_types, constructors, ftis = process_types(
            listTypes(PKG_NAME), PKG_NAME)

        utils.ContentInit(
            '%s Content' % PKG_NAME,
            content_types=content_types,
            permission=permissions.AddPortalContent,
            extra_constructors=constructors,
            fti=ftis,
            ).initialize(context)
Пример #15
0
def initialize(context):
    if REGISTER_TEST_TYPES:
        from Products.Archetypes.ArchetypeTool import process_types, listTypes
        from Products.CMFCore import permissions
        from Products.CMFCore import utils
        from plone.restapi.tests.attypes import PROJECTNAME

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

        utils.ContentInit(
            '%s Content' % PROJECTNAME,
            content_types=content_types,
            permission=permissions.AddPortalContent,
            extra_constructors=constructors,
            fti=ftis,
        ).initialize(context)
Пример #16
0
def initialize(context):
    if REGISTER_TEST_TYPES:
        from Products.Archetypes.ArchetypeTool import process_types, listTypes
        from Products.CMFCore import permissions
        from Products.CMFCore import utils
        from plone.restapi.tests.attypes import PROJECTNAME

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

        utils.ContentInit(
            '%s Content' % PROJECTNAME,
            content_types=content_types,
            permission=permissions.AddPortalContent,
            extra_constructors=constructors,
            fti=ftis,
        ).initialize(context)
Пример #17
0
def initialize(context):
    """Initializer called when used as a Zope 2 product."""
    if 'ZOPETESTCASE' in os.environ:  # register demo type only when testing
        from Products.CMFCore import utils
        from Products.CMFCore import permissions
        from Products.Archetypes.ArchetypeTool import process_types, listTypes
        import plone.app.referenceablebehavior.testing

        content_types, constructors, ftis = process_types(
            listTypes(PKG_NAME), PKG_NAME)

        utils.ContentInit(
            '%s Content' % PKG_NAME,
            content_types=content_types,
            permission=permissions.AddPortalContent,
            extra_constructors=constructors,
            fti=ftis,
        ).initialize(context)
Пример #18
0
def initialize(context):
    registerMultiPlugin(plugin.JWTAuthenticationPlugin.meta_type)
    context.registerClass(
        plugin.JWTAuthenticationPlugin,
        permission=add_user_folders,
        constructors=(plugin.manage_addJWTAuthenticationPlugin, plugin.addJWTAuthenticationPlugin),
        visibility=None,
    )

    if REGISTER_TEST_TYPES:
        from Products.Archetypes.ArchetypeTool import process_types, listTypes
        from Products.CMFCore import permissions
        from Products.CMFCore import utils
        from plone.restapi.tests.attypes import PROJECTNAME

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

        utils.ContentInit(
            "%s Content" % PROJECTNAME,
            content_types=content_types,
            permission=permissions.AddPortalContent,
            extra_constructors=constructors,
            fti=ftis,
        ).initialize(context)
Пример #19
0
 def _getClassByPortalType(self, name):
     for data in listTypes():
         if data['portal_type'] == name:
             return data['klass']
     raise ValueError, "No such portal type: %s" % name
Пример #20
0
 def _getClassByPortalType(self, name):
     for data in listTypes():
         if data['portal_type'] == name:
             return data['klass']
     raise ValueError, "No such portal type: %s" % name