Exemplo n.º 1
0
def view_topic(self, request):

    assert self.trait in {'link', 'page'}

    if not request.is_logged_in and self.trait == 'link':
        return morepath.redirect(self.content['url'])

    layout = PageLayout(self, request)

    if request.is_logged_in:
        layout.editbar_links = self.get_editbar_links(request)
        children = self.children
    else:
        children = request.exclude_invisible(self.children)

    return {
        'layout': layout,
        'title': self.title,
        'name': self.trait_messages[self.trait]['name'],
        'page': self,
        'children': [
            Link(child.title, request.link(child), model=child)
            for child in sorted(children, key=lambda c: c.name)
        ]
    }
Exemplo n.º 2
0
def view_topic(self, request):

    assert self.trait in {"link", "page"}

    if not request.is_logged_in and self.trait == "link":
        return morepath.redirect(self.content["url"])

    layout = PageLayout(self, request)

    if request.is_logged_in:
        layout.editbar_links = self.get_editbar_links(request)
        children = self.children
    else:
        children = request.exclude_invisible(self.children)

    return {
        "layout": layout,
        "title": self.title,
        "name": self.trait_messages[self.trait]["name"],
        "page": self,
        "children": [Link(child.title, request.link(child), model=child) for child in children],
    }