Commit a7acc42d by benjaoming

pep8

parent bacba8d7
...@@ -6,7 +6,7 @@ from mptt.managers import TreeManager ...@@ -6,7 +6,7 @@ from mptt.managers import TreeManager
class ArticleQuerySet(QuerySet): class ArticleQuerySet(QuerySet):
def can_read(self, user): def can_read(self, user):
"""Filter objects so only the ones with a user's reading access """Filter objects so only the ones with a user's reading access
are included""" are included"""
...@@ -20,7 +20,7 @@ class ArticleQuerySet(QuerySet): ...@@ -20,7 +20,7 @@ class ArticleQuerySet(QuerySet):
(Q(group__user=user) & Q(group_read=True)) (Q(group__user=user) & Q(group_read=True))
) )
return q return q
def can_write(self, user): def can_write(self, user):
"""Filter objects so only the ones with a user's writing access """Filter objects so only the ones with a user's writing access
are included""" are included"""
...@@ -34,12 +34,13 @@ class ArticleQuerySet(QuerySet): ...@@ -34,12 +34,13 @@ class ArticleQuerySet(QuerySet):
(Q(group__user=user) & Q(group_write=True)) (Q(group__user=user) & Q(group_write=True))
) )
return q return q
def active(self): def active(self):
return self.filter(current_revision__deleted=False) return self.filter(current_revision__deleted=False)
class ArticleFkQuerySetMixin(): class ArticleFkQuerySetMixin():
def can_read(self, user): def can_read(self, user):
"""Filter objects so only the ones with a user's reading access """Filter objects so only the ones with a user's reading access
are included""" are included"""
...@@ -49,12 +50,12 @@ class ArticleFkQuerySetMixin(): ...@@ -49,12 +50,12 @@ class ArticleFkQuerySetMixin():
q = self.filter(article__other_read=True) q = self.filter(article__other_read=True)
else: else:
# https://github.com/benjaoming/django-wiki/issues/67 # https://github.com/benjaoming/django-wiki/issues/67
q = self.filter(Q(article__other_read=True) | q = self.filter(
Q(article__owner=user) | Q(article__other_read=True) | Q(article__owner=user) |
(Q(article__group__user=user) & Q(article__group_read=True)) (Q(article__group__user=user) & Q(
).distinct() article__group_read=True))).distinct()
return q return q
def can_write(self, user): def can_write(self, user):
"""Filter objects so only the ones with a user's writing access """Filter objects so only the ones with a user's writing access
are included""" are included"""
...@@ -64,50 +65,68 @@ class ArticleFkQuerySetMixin(): ...@@ -64,50 +65,68 @@ class ArticleFkQuerySetMixin():
q = self.filter(article__other_write=True) q = self.filter(article__other_write=True)
else: else:
# https://github.com/benjaoming/django-wiki/issues/67 # https://github.com/benjaoming/django-wiki/issues/67
q = self.filter(Q(article__other_write=True) | q = self.filter(
Q(article__owner=user) | Q(article__other_write=True) | Q(article__owner=user) |
(Q(article__group__user=user) & Q(article__group_write=True)) (Q(article__group__user=user) & Q(
).distinct() article__group_write=True))).distinct()
return q return q
def active(self): def active(self):
return self.filter(article__current_revision__deleted=False) return self.filter(article__current_revision__deleted=False)
class ArticleFkEmptyQuerySetMixin(): class ArticleFkEmptyQuerySetMixin():
def can_read(self, user): def can_read(self, user):
return self return self
def can_write(self, user): def can_write(self, user):
return self return self
def active(self): def active(self):
return self return self
class ArticleFkQuerySet(ArticleFkQuerySetMixin, QuerySet): class ArticleFkQuerySet(ArticleFkQuerySetMixin, QuerySet):
pass pass
class ArticleFkEmptyQuerySet(ArticleFkEmptyQuerySetMixin, EmptyQuerySet): class ArticleFkEmptyQuerySet(ArticleFkEmptyQuerySetMixin, EmptyQuerySet):
pass pass
class ArticleManager(models.Manager): class ArticleManager(models.Manager):
def get_empty_query_set(self): def get_empty_query_set(self):
return self.get_query_set().none() return self.get_query_set().none()
def get_query_set(self): def get_query_set(self):
return ArticleQuerySet(self.model, using=self._db) return ArticleQuerySet(self.model, using=self._db)
def active(self): def active(self):
return self.get_query_set().active() return self.get_query_set().active()
def can_read(self, user): def can_read(self, user):
return self.get_query_set().can_read(user) return self.get_query_set().can_read(user)
def can_write(self, user): def can_write(self, user):
return self.get_query_set().can_write(user) return self.get_query_set().can_write(user)
class ArticleFkManager(models.Manager): class ArticleFkManager(models.Manager):
def get_empty_query_set(self): def get_empty_query_set(self):
return ArticleFkEmptyQuerySet(model=self.model) return ArticleFkEmptyQuerySet(model=self.model)
def get_query_set(self): def get_query_set(self):
return ArticleFkQuerySet(self.model, using=self._db) return ArticleFkQuerySet(self.model, using=self._db)
def active(self): def active(self):
return self.get_query_set().active() return self.get_query_set().active()
def can_read(self, user): def can_read(self, user):
return self.get_query_set().can_read(user) return self.get_query_set().can_read(user)
def can_write(self, user): def can_write(self, user):
return self.get_query_set().can_write(user) return self.get_query_set().can_write(user)
...@@ -117,26 +136,34 @@ class URLPathEmptyQuerySet(EmptyQuerySet, ArticleFkEmptyQuerySetMixin): ...@@ -117,26 +136,34 @@ class URLPathEmptyQuerySet(EmptyQuerySet, ArticleFkEmptyQuerySetMixin):
def select_related_common(self): def select_related_common(self):
return self return self
class URLPathQuerySet(QuerySet, ArticleFkQuerySetMixin): class URLPathQuerySet(QuerySet, ArticleFkQuerySetMixin):
def select_related_common(self): def select_related_common(self):
return self.select_related("parent", "article__current_revision", "article__owner") return self.select_related(
"parent",
"article__current_revision",
"article__owner")
class URLPathManager(TreeManager): class URLPathManager(TreeManager):
def get_empty_query_set(self): def get_empty_query_set(self):
return URLPathEmptyQuerySet(model=self.model) return URLPathEmptyQuerySet(model=self.model)
def get_query_set(self): def get_query_set(self):
"""Return a QuerySet with the same ordering as the TreeManager.""" """Return a QuerySet with the same ordering as the TreeManager."""
return URLPathQuerySet(self.model, using=self._db).order_by( return URLPathQuerySet(self.model, using=self._db).order_by(
self.tree_id_attr, self.left_attr) self.tree_id_attr, self.left_attr)
def select_related_common(self): def select_related_common(self):
return self.get_query_set().common_select_related() return self.get_query_set().common_select_related()
def active(self): def active(self):
return self.get_query_set().active() return self.get_query_set().active()
def can_read(self, user): def can_read(self, user):
return self.get_query_set().can_read(user) return self.get_query_set().can_read(user)
def can_write(self, user): def can_write(self, user):
return self.get_query_set().can_write(user) return self.get_query_set().can_write(user)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment