Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
django-wiki
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OpenEdx
django-wiki
Commits
a7acc42d
Commit
a7acc42d
authored
May 26, 2014
by
benjaoming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
pep8
parent
bacba8d7
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
36 additions
and
9 deletions
+36
-9
wiki/managers.py
+36
-9
No files found.
wiki/managers.py
View file @
a7acc42d
...
@@ -38,6 +38,7 @@ class ArticleQuerySet(QuerySet):
...
@@ -38,6 +38,7 @@ class ArticleQuerySet(QuerySet):
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
):
...
@@ -49,10 +50,10 @@ class ArticleFkQuerySetMixin():
...
@@ -49,10 +50,10 @@ 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
):
...
@@ -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,10 +136,15 @@ class URLPathEmptyQuerySet(EmptyQuerySet, ArticleFkEmptyQuerySetMixin):
...
@@ -117,10 +136,15 @@ 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
):
...
@@ -134,9 +158,12 @@ class URLPathManager(TreeManager):
...
@@ -134,9 +158,12 @@ class URLPathManager(TreeManager):
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
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment