def navigation_move(route, order, **kwargs): if Content.objects(route=route).first() is None: raise InvalidCommand("route '{0}' does not exist in content collection".format(route)) if Content.objects(route=route, show_in_navigation=True).first() is None: raise InvalidCommand("route '{0}' is not visible in navigation".format(route)) nav_order = NavigationOrder.objects(route=route).first() if nav_order is None: # This probably shouldn't happen. nav_order = NavigationOrder.add(route=route) nav_order.move(order)
def load_from_file(route, title, short_description, content_filename, show_in_navigation, **kwargs): content = Content() content.route = route content.title = title content.short_description = short_description content.show_in_navigation = show_in_navigation if show_in_navigation and (NavigationOrder.objects(route=route).first() is None): NavigationOrder.add(route=route) with open(content_filename) as content_file: content.content = '\n'.join(content_file.readlines()) content.save()
def get_navigables_in_order(): return [Content.objects(route=r).first() for r in NavigationOrder.get_routes_in_order()]
def populate_from_content(): for i, c in enumerate(Content.get_navigables()): NavigationOrder(route=c.route, order=i).save()