Exemplo n.º 1
0
    def get_tree_for_user(self, user):
        filtered_items = self.get_for_user(user)
        tree = TreeGenerator(filtered_items)
        #tree.debug()

        # Hide categories, if they has sub entry links        
        for node in tree.iter_flat_list():
            if not node.data["absolute_url"] and not node.subnodes:
                node.visible = False

        return tree
Exemplo n.º 2
0
    def get_tree_for_user(self, user):
        filtered_items = self.get_for_user(user)
        tree = TreeGenerator(filtered_items)
        #tree.debug()

        # Hide categories, if they has no sub entry links
        # (e.g. user has no right to use any sub entry views)
        for node in tree.iter_flat_list():
            if not node.data["absolute_url"] and not node.subnodes:
                node.visible = False

        return tree
Exemplo n.º 3
0
def get_pagetree_objects(model):
    """
    The PageTree entries must be serialized in the right order. Because they
    have references to him self.
    """
    queryset = model._default_manager.all().order_by("position")
    items = queryset.values("id", "parent")
    tree = TreeGenerator(items, skip_no_parent=True)

    objects = []
    for node in tree.iter_flat_list():
        objects.append(model._default_manager.all().get(id=node.id))

    return objects
Exemplo n.º 4
0
def get_pagetree_objects(model):
    """
    The PageTree entries must be serialized in the right order. Because they
    have references to him self.
    """
    queryset = model._default_manager.all().order_by("position")
    items = queryset.values("id", "parent")
    tree = TreeGenerator(items, skip_no_parent=True)

    objects = []
    for node in tree.iter_flat_list():
        objects.append(model._default_manager.all().get(id=node.id))

    return objects
Exemplo n.º 5
0
    def get_tree(self,
                 user=None,
                 filter_showlinks=False,
                 exclude_plugin_pages=False,
                 exclude_extras=None):
        """ return a TreeGenerator instance with all accessable page tree instance """
        queryset = self.all_accessible(user, filter_showlinks)

        if exclude_plugin_pages:
            queryset = queryset.exclude(page_type=PageTree.PLUGIN_TYPE)
        if exclude_extras:
            queryset = queryset.exclude(**exclude_extras)

        items = queryset.values("id", "parent", "slug")
        tree = TreeGenerator(items, skip_no_parent=True)
        return tree