Esempio n. 1
0
 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)
Esempio n. 2
0
 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)
Esempio n. 3
0
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,}
Esempio n. 4
0
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)
Esempio n. 5
0
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)
Esempio n. 6
0
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
Esempio n. 7
0
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))