Merge pull request #191 from kaedroho/page-changes

Override a few treebeard methods to add inclusive flag
pull/190/merge
Karl Hobley 2014-04-08 17:03:17 +01:00
commit a3d58126fd
2 zmienionych plików z 12 dodań i 3 usunięć

Wyświetl plik

@ -558,6 +558,15 @@ class Page(MP_Node, ClusterableModel, Indexed):
user_perms = UserPagePermissionsProxy(user)
return user_perms.for_page(self)
def get_ancestors(self, inclusive=False):
return Page.objects.ancestor_of(self, inclusive)
def get_descendants(self, inclusive=False):
return Page.objects.descendant_of(self, inclusive)
def get_siblings(self, inclusive=True):
return Page.objects.sibling_of(self, inclusive)
def get_navigation_menu_items():
# Get all pages that appear in the navigation menu: ones which have children,

Wyświetl plik

@ -84,7 +84,7 @@ class PageQuerySet(MP_NodeQuerySet):
def not_parent_of(self, other):
return self.exclude(self.parent_of_q(other))
def sibling_of_q(self, other, inclusive=False):
def sibling_of_q(self, other, inclusive=True):
q = Q(path__startswith=self.model._get_parent_path_from_path(other.path)) & Q(depth=other.depth)
if not inclusive:
@ -92,10 +92,10 @@ class PageQuerySet(MP_NodeQuerySet):
return q
def sibling_of(self, other, inclusive=False):
def sibling_of(self, other, inclusive=True):
return self.filter(self.sibling_of_q(other, inclusive))
def not_sibling_of(self, other, inclusive=False):
def not_sibling_of(self, other, inclusive=True):
return self.exclude(self.sibling_of_q(other, inclusive))
def type_q(self, model):