Beispiel #1
0
    def profiles(self):
        base_profiles = []
        extension_profiles = []

        # profiles available for install/uninstall, but hidden at the time
        # the Plone site is created
        not_installable = ["Products.CMFPlacefulWorkflow:CMFPlacefulWorkflow"]
        utils = getAllUtilitiesRegisteredFor(INonInstallable)
        for util in utils:
            not_installable.extend(util.getNonInstallableProfiles())

        for info in profile_registry.listProfileInfo():
            if info.get("type") == EXTENSION and info.get("for") in (IPloneSiteRoot, None):
                profile_id = info.get("id")
                if profile_id not in not_installable:
                    if profile_id in self.default_extension_profiles:
                        info["selected"] = "selected"
                    extension_profiles.append(info)

        def _key(v):
            # Make sure implicitly selected items come first
            selected = v.get("selected") and "automatic" or "manual"
            return "%s-%s" % (selected, v.get("title", ""))

        extension_profiles.sort(key=_key)

        for info in profile_registry.listProfileInfo():
            if info.get("type") == BASE and info.get("for") in (IPloneSiteRoot, None):
                base_profiles.append(info)

        return dict(base=tuple(base_profiles), default=_DEFAULT_PROFILE, extensions=tuple(extension_profiles))
Beispiel #2
0
def addPloneSiteForm(dispatcher):
    """
    Wrap the PTF in 'dispatcher'.
    """
    wrapped = PageTemplateFile('addSite', WWW_DIR).__of__(dispatcher)

    base_profiles = []
    extension_profiles = []
    not_installable = []

    utils = getAllUtilitiesRegisteredFor(INonInstallable)
    for util in utils:
        not_installable.extend(util.getNonInstallableProfiles())

    for info in profile_registry.listProfileInfo():
        if info.get('type') == EXTENSION and \
           info.get('for') in (IPloneSiteRoot, None):
            if info.get('id') not in not_installable:
                extension_profiles.append(info)

    for info in profile_registry.listProfileInfo():
        if info.get('type') == BASE and \
           info.get('for') in (IPloneSiteRoot, None):
            if info.get('id') not in not_installable:
                base_profiles.append(info)

    return wrapped(base_profiles=tuple(base_profiles),
                   extension_profiles=tuple(extension_profiles),
                   default_profile=_DEFAULT_PROFILE)
Beispiel #3
0
    def profiles(self):
        base_profiles = []
        extension_profiles = []

        # profiles available for install/uninstall, but hidden at the time
        # the Plone site is created
        not_installable = [
            'kupu:default',
            'plonetheme.classic:uninstall',
            'Products.CMFPlacefulWorkflow:CMFPlacefulWorkflow',
            'plone.app.collection:default',
            'plone.app.registry:default',
            'plone.app.z3cform:default',
            # The following two profiles are mutually exclusive.
            _ATCONTENTTYPES_PROFILE,
            _PLONE_APP_CONTENTTYPES_PROFILE,
        ]
        utils = getAllUtilitiesRegisteredFor(INonInstallable)
        for util in utils:
            not_installable.extend(util.getNonInstallableProfiles())

        for info in profile_registry.listProfileInfo():
            if info.get('type') == EXTENSION and \
               info.get('for') in (IPloneSiteRoot, None):
                profile_id = info.get('id')
                if profile_id not in not_installable:
                    if profile_id in self.default_extension_profiles:
                        info['selected'] = 'selected'
                    extension_profiles.append(info)

        def _key(v):
            # Make sure implicitly selected items come first
            selected = v.get('selected') and 'automatic' or 'manual'
            return '%s-%s' % (selected, v.get('title', ''))

        extension_profiles.sort(key=_key)

        for info in profile_registry.listProfileInfo():
            if info.get('type') == BASE and \
               info.get('for') in (IPloneSiteRoot, None) and \
               info.get('id') != u'Products.kupu:default':
                base_profiles.append(info)

        return dict(
            base=tuple(base_profiles),
            default=_DEFAULT_PROFILE,
            extensions=tuple(extension_profiles),
        )
Beispiel #4
0
    def profiles(self):
        base_profiles = []
        extension_profiles = []

        # profiles available for install/uninstall, but hidden at the time
        # the Plone site is created
        not_installable = [
            'kupu:default',
            'plonetheme.classic:uninstall',
            'Products.CMFPlacefulWorkflow:CMFPlacefulWorkflow',
            'plone.app.collection:default',
            'plone.app.registry:default',
            'plone.app.z3cform:default',
            # The following two profiles are mutually exclusive.
            _ATCONTENTTYPES_PROFILE,
            _PLONE_APP_CONTENTTYPES_PROFILE,
        ]
        utils = getAllUtilitiesRegisteredFor(INonInstallable)
        for util in utils:
            not_installable.extend(util.getNonInstallableProfiles())

        for info in profile_registry.listProfileInfo():
            if info.get('type') == EXTENSION and \
               info.get('for') in (IPloneSiteRoot, None):
                profile_id = info.get('id')
                if profile_id not in not_installable:
                    if profile_id in self.default_extension_profiles:
                        info['selected'] = 'selected'
                    extension_profiles.append(info)

        def _key(v):
            # Make sure implicitly selected items come first
            selected = v.get('selected') and 'automatic' or 'manual'
            return '%s-%s' % (selected, v.get('title', ''))
        extension_profiles.sort(key=_key)

        for info in profile_registry.listProfileInfo():
            if info.get('type') == BASE and \
               info.get('for') in (IPloneSiteRoot, None) and \
               info.get('id') != u'Products.kupu:default':
                base_profiles.append(info)

        return dict(
            base=tuple(base_profiles),
            default=_DEFAULT_PROFILE,
            extensions=tuple(extension_profiles),
        )
    def profiles(self):
        base_profiles = []
        extension_profiles = []

        # profiles available for install/uninstall, but hidden at the time
        # the Plone site is created
        not_installable = [
            'Products.CMFPlacefulWorkflow:CMFPlacefulWorkflow',
        ]
        utils = getAllUtilitiesRegisteredFor(INonInstallable)
        for util in utils:
            not_installable.extend(util.getNonInstallableProfiles())

        for info in profile_registry.listProfileInfo():
            if info.get('type') == EXTENSION and \
               info.get('for') in (IPloneSiteRoot, None):
                profile_id = info.get('id')
                if profile_id not in not_installable:
                    if profile_id in self.default_extension_profiles:
                        info['selected'] = 'selected'
                    extension_profiles.append(info)

        def _key(v):
            # Make sure implicitly selected items come first
            selected = v.get('selected') and 'automatic' or 'manual'
            return '{}-{}'.format(selected, v.get('title', ''))

        extension_profiles.sort(key=_key)

        for info in profile_registry.listProfileInfo():
            if info.get('type') == BASE and \
               info.get('for') in (IPloneSiteRoot, None):
                base_profiles.append(info)

        return dict(
            base=tuple(base_profiles),
            default=_DEFAULT_PROFILE,
            extensions=tuple(extension_profiles),
        )
Beispiel #6
0
def addConfiguredSiteForm(dispatcher):
    """ Wrap the PTF in 'dispatcher', including 'profile_registry' in options.
    """
    wrapped = PageTemplateFile( 'siteAddForm', _wwwdir ).__of__( dispatcher )

    base_profiles = []
    extension_profiles = []

    for info in profile_registry.listProfileInfo(for_=ISiteRoot):
        if info.get('type') == EXTENSION:
            extension_profiles.append(info)
        else:
            base_profiles.append(info)

    return wrapped( base_profiles=tuple(base_profiles),
                    extension_profiles =tuple(extension_profiles) )
Beispiel #7
0
def addConfiguredSiteForm(dispatcher):
    """ Wrap the PTF in 'dispatcher', including 'profile_registry' in options.
    """
    wrapped = PageTemplateFile('siteAddForm', _wwwdir).__of__(dispatcher)

    base_profiles = []
    extension_profiles = []

    for info in profile_registry.listProfileInfo(for_=ISiteRoot):
        if info.get('type') == EXTENSION:
            extension_profiles.append(info)
        else:
            base_profiles.append(info)

    return wrapped(base_profiles=tuple(base_profiles),
                   extension_profiles=tuple(extension_profiles))
def addConfiguredPASForm(dispatcher):
    """ Wrap the PTF in 'dispatcher', including 'profile_registry' in options.
    """
    from Products.GenericSetup import EXTENSION
    from Products.GenericSetup import profile_registry

    wrapped = PageTemplateFile('pasAddForm', _wwwdir).__of__(dispatcher)

    base_profiles = []
    extension_profiles = []

    for info in profile_registry.listProfileInfo(for_=IPluggableAuthService):
        if info.get('type') == EXTENSION:
            extension_profiles.append(info)
        else:
            base_profiles.append(info)

    return wrapped(base_profiles=tuple(base_profiles),
                   extension_profiles=tuple(extension_profiles))
Beispiel #9
0
def addConfiguredPASForm(dispatcher):
    """ Wrap the PTF in 'dispatcher', including 'profile_registry' in options.
    """
    from Products.GenericSetup import EXTENSION
    from Products.GenericSetup import profile_registry

    wrapped = PageTemplateFile( 'pasAddForm', _wwwdir ).__of__( dispatcher )

    base_profiles = []
    extension_profiles = []

    for info in profile_registry.listProfileInfo(for_=IPluggableAuthService):
        if info.get('type') == EXTENSION:
            extension_profiles.append(info)
        else:
            base_profiles.append(info)

    return wrapped( base_profiles=tuple(base_profiles),
                    extension_profiles =tuple(extension_profiles) )