def view(self): """ The view we're working on. """ content_views = get_content_views(self.request.registry).get(self.context.type_name, None) if content_views: name = getattr(self.context, 'default_view') return content_views.get(name, None)
def view(self): """ The view we're working on. """ content_views = get_content_views(self.request.registry).get( self.context.type_name, None) if content_views: name = getattr(self.context, 'default_view') return content_views.get(name, None)
def actionbar_view(context, request, va, **kw): candidates = set(['', 'view']) for name in get_content_views(request.registry).get(context.type_name, {}): candidates.add(name) active_cls = request.view_name in candidates and 'active' or '' return """<li class="%(active_cls)s"><a href="%(url)s">%(title)s</a></li>""" % \ {'url': request.resource_url(context), 'active_cls': active_cls, 'title': va.title,}
def template_menu(context, request, va, **kw): if not hasattr(context, 'default_view'): return rcontext = getattr(request, 'context', None) if getattr(rcontext, 'delegate_view', None): return views = get_content_views(request.registry).get(context.type_name, {}).items() if views: view = kw['view'] return view.render_template('arche:templates/menus/templates.pt', views=views)
def content_types_panel(context, request, va, **kw): response = { 'content_factories': get_content_factories(request.registry), 'addable_content': get_addable_content(request.registry), 'content_views': get_content_views(request.registry), 'content_schemas': get_content_schemas(request.registry), 'workflows': get_workflows(request.registry), 'acl_iface': IContextACL, 'local_roles_iface': ILocalRoles, } return render('arche:templates/sysinfo/content_types.pt', response, request = request)
def selectable_views(context, request, va, **kw): if not hasattr(context, 'default_view'): return type_name = getattr(context,'type_name', None) selectable_views = {'view': _(u"Default")} views = get_content_views(request.registry) for (name, view_cls)in views.get(type_name, {}).items(): selectable_views[name] = view_cls.title out = """<li role="presentation" class="dropdown-header">%s</li>\n""" % _("View selection") for (name, title) in selectable_views.items(): selected = "" if context.default_view == name: selected = """<span class="glyphicon glyphicon-ok pull-right"></span>""" out += """<li><a href="%(url)s">%(title)s %(selected)s</a></li>""" %\ {'url': request.resource_url(context, 'set_view', query = {'name': name}), 'title': title, 'selected': selected} return out
def set_view(context, request, name = None): name = request.GET.get('name', name) if name is None: raise ValueError("Need to specify a request with the GET variable name or simply a name parameter.") if get_view(context, request, view_name = name) is None: raise HTTPForbidden(u"There's no view registered for this content type with that name. " u"Perhaps you forgot to register the view for this context?") context.default_view = name if name != 'view': title = get_content_views(request.registry)[context.type_name][name] else: title = _("Default view") fm = get_flash_messages(request) fm.add(_("View set to '${title}'", mapping = {'title': title})) #Remove settings. Should this be a subscriber instead? It's a bit destructive too, especially if clearing this isn't needed if hasattr(context, '__view_settings__'): delattr(context, '__view_settings__') return HTTPFound(location = request.resource_url(context))