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
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)