Example #1
0
    def _create_or_update_block(self, obj, block_dict=None, uid=None):
        if not block_dict:
            block_dict = {}

        if uid:
            block_dict['uid'] = uid

        block_type = normalize_portal_type(obj.portal_type)

        css_classes = ['sl-block', block_type]

        block_is_hidden = False
        hidden_block_support = IHiddenBlock(obj, None)
        if hidden_block_support:
            block_is_hidden = hidden_block_support.is_hidden
            if block_is_hidden:
                css_classes.append('hidden')

        css_classes.extend(getattr(aq_base(obj), 'additional_css_classes', []))

        block_dict['is_hidden'] = block_is_hidden
        block_dict['obj_html'] = self._render_block_html(obj)
        block_dict['type'] = block_type
        block_dict['url'] = obj.absolute_url()
        block_dict['id'] = obj.getId()
        block_dict['css_classes'] = ' '.join(css_classes)

        return block_dict
Example #2
0
    def _get_default_actions(self):
        normalized_portal_type = normalize_portal_type(self.context.portal_type)

        actions = queryMultiAdapter(
            (self.context, self.request), ISimplelayoutActions, name="{0}-actions".format(normalized_portal_type)
        )
        return actions.specific_actions().items()[0][1]
def hide_blocks_in_factory_menu(context, request):

    selectors = []

    for block_fti in get_block_types():
        selectors.append(
            u'.contenttype-{0}'.format(
                normalize_portal_type(block_fti.getId())))

    cachekey = hashlib.md5(''.join(selectors)).hexdigest()

    if len(selectors):
        source = TEMPLATE.format(', '.join(selectors))
    else:
        source = ''

    return DynamicSCSSResource('simplelayout_hide_blocks.scss',
                               slot='addon',
                               source=source,
                               cachekey=cachekey)