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
edx
django-wiki
Commits
62d67c06
Commit
62d67c06
authored
Nov 13, 2014
by
benjaoming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix #341
parent
c551a691
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
21 additions
and
19 deletions
+21
-19
wiki/plugins/notifications/forms.py
+1
-1
wiki/plugins/notifications/views.py
+20
-18
No files found.
wiki/plugins/notifications/forms.py
View file @
62d67c06
...
...
@@ -88,7 +88,7 @@ class BaseSettingsFormSet(BaseModelFormSet):
return
Settings
.
objects
.
filter
(
user
=
self
.
user
,
subscription__articlesubscription__article__current_revision__deleted
=
False
,
)
.
prefetch_related
(
'subscription_set__articlesubscription'
,)
)
.
prefetch_related
(
'subscription_set__articlesubscription'
,)
.
distinct
()
SettingsFormSet
=
modelformset_factory
(
...
...
wiki/plugins/notifications/views.py
View file @
62d67c06
...
...
@@ -9,6 +9,8 @@ from django.utils.translation import ugettext as _
from
django.views.generic.edit
import
FormView
from
.
import
forms
from
.
import
models
class
NotificationSettings
(
FormView
):
...
...
@@ -22,22 +24,25 @@ class NotificationSettings(FormView):
def
form_valid
(
self
,
formset
):
for
form
in
formset
:
settings
=
form
.
save
()
from
.
import
models
article_subscriptions
=
models
.
ArticleSubscription
.
objects
.
filter
(
subscription_settings
=
form
.
instance
,
article__current_revision__deleted
=
False
,
)
.
select_related
(
'article'
,
'article__current_revision'
)
messages
.
info
(
self
.
request
,
self
.
request
,
_
(
"You will receive notifications
%(interval)
s for "
"
%(articles)
d articles"
)
%
{
'interval'
:
settings
.
get_interval_display
(),
'articles'
:
article_subscriptions
.
count
(),
}
"
%(articles)
d articles"
)
%
{
'interval'
:
settings
.
get_interval_display
(),
'articles'
:
self
.
get_article_subscriptions
(
form
.
instance
),
}
)
return
redirect
(
'wiki:notification_settings'
)
def
get_article_subscriptions
(
self
,
nyt_settings
):
return
models
.
ArticleSubscription
.
objects
.
filter
(
subscription__settings
=
nyt_settings
,
article__current_revision__deleted
=
False
,
)
.
select_related
(
'article'
,
'article__current_revision'
)
.
distinct
()
def
get_form_kwargs
(
self
):
kwargs
=
FormView
.
get_form_kwargs
(
self
)
kwargs
[
'user'
]
=
self
.
request
.
user
...
...
@@ -46,14 +51,11 @@ class NotificationSettings(FormView):
def
get_context_data
(
self
,
**
kwargs
):
context
=
FormView
.
get_context_data
(
self
,
**
kwargs
)
context
[
'formset'
]
=
kwargs
[
'form'
]
from
.
import
models
for
form
in
context
[
'formset'
]:
if
form
.
instance
:
setattr
(
form
.
instance
,
'articlesubscriptions'
,
models
.
ArticleSubscription
.
objects
.
filter
(
subscription__settings
=
form
.
instance
,
article__current_revision__deleted
=
False
,
)
.
select_related
(
'article'
,
'article__current_revision'
)
setattr
(
form
.
instance
,
'articlesubscriptions'
,
self
.
get_article_subscriptions
(
form
.
instance
)
)
return
context
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