def AvailableVariantAspectsVocabulary(context):
    terms = list()
    for definition in available_variant_aspects():
        terms.append(
            SimpleTerm(value=dotted_name(definition.interface),
                       title=definition.title))
    return SimpleVocabulary(terms)
예제 #2
0
def get_default_variant_aspects(context):
    try:
        default_aspects = getattr(context, 'default_variant_aspects')
    except AttributeError:
        return list()
    ret = list()
    for definition in available_variant_aspects():
        aspect_name = dotted_name(definition.interface)
        for default_name in default_aspects:
            if default_name == aspect_name:
                ret.append(definition.interface)
                break
    return ret
예제 #3
0
def get_default_variant_aspects(context):
    try:
        default_aspects = getattr(context, 'default_variant_aspects')
    except AttributeError:
        return list()
    ret = list()
    for definition in available_variant_aspects():
        aspect_name = dotted_name(definition.interface)
        for default_name in default_aspects:
            if default_name == aspect_name:
                ret.append(definition.interface)
                break
    return ret
예제 #4
0
    def create(self, data):
        fti = getUtility(IDexterityFTI, name=self.portal_type)

        container = aq_inner(self.context)
        content = createObject(fti.factory)

        if hasattr(content, '_setPortalTypeName'):
            content._setPortalTypeName(fti.getId())

        if IAcquirer.providedBy(content):
            content = content.__of__(container)

        for behavior in get_default_variant_aspects(self.context):
            name = dotted_name(behavior)
            enable_behaviors(content, (name, ), (behavior, ), reindex=False)

        form.applyChanges(self, content, data)
        for group in self.groups:
            form.applyChanges(group, content, data)

        return aq_base(content)
예제 #5
0
    def create(self, data):
        fti = getUtility(IDexterityFTI, name=self.portal_type)

        container = aq_inner(self.context)
        content = createObject(fti.factory)

        if hasattr(content, '_setPortalTypeName'):
            content._setPortalTypeName(fti.getId())

        if IAcquirer.providedBy(content):
            content = content.__of__(container)

        for behavior in get_default_variant_aspects(self.context):
            name = dotted_name(behavior)
            enable_behaviors(content, (name,), (behavior,), reindex=False)

        form.applyChanges(self, content, data)
        for group in self.groups:
            form.applyChanges(group, content, data)

        return aq_base(content)
def AvailableVariantAspectsVocabulary(context):
    terms = list()
    for definition in available_variant_aspects():
        terms.append(SimpleTerm(value=dotted_name(definition.interface),
                                title=definition.title))
    return SimpleVocabulary(terms)