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) ] }
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], }