예제 #1
0
class FormContentAdapter(object):

    def __init__(self, context):
        self.context = ISelectableConstrainTypes(context)

    @property
    def constrain_types_mode(self):
        return self.context.getConstrainTypesMode()

    @property
    def allowed_types(self):
        return self.context.getLocallyAllowedTypes()

    @property
    def secondary_types(self):
        immediately_addable = self.context.getImmediatelyAddableTypes()
        return [t for t in self.context.getLocallyAllowedTypes()
                if t not in immediately_addable]
예제 #2
0
class FormContentAdapter(object):

    def __init__(self, context):
        self.context = ISelectableConstrainTypes(context)

    @property
    def constrain_types_mode(self):
        return self.context.getConstrainTypesMode()

    @property
    def allowed_types(self):
        return self.context.getLocallyAllowedTypes()

    @property
    def secondary_types(self):
        immediately_addable = self.context.getImmediatelyAddableTypes()
        return [t for t in self.context.getLocallyAllowedTypes()
                if t not in immediately_addable]
예제 #3
0
    def handle_auto_folder_creation(self, folder, type_):
        # we only auto publish built-in repositories, otherwise, leave it be
        try:
            if api.content.get_state(obj=folder) != 'published':
                api.content.transition(obj=folder, transition='publish')
        except WorkflowException:
            pass

        aspect = ISelectableConstrainTypes(folder, None)
        if (aspect and (aspect.getConstrainTypesMode() != 1
                        or [type_] != aspect.getImmediatelyAddableTypes())):
            aspect.setConstrainTypesMode(1)
            try:
                aspect.setImmediatelyAddableTypes([type_])
            except:
                pass

        if not getattr(folder, 'exclude_from_nav', False):
            # if auto generated path, exclude from nav
            folder.exclude_from_nav = True
            folder.reindexObject()