本文整理汇总了Python中forums.events.NewPostEvent.notify方法的典型用法代码示例。如果您正苦于以下问题:Python NewPostEvent.notify方法的具体用法?Python NewPostEvent.notify怎么用?Python NewPostEvent.notify使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类forums.events.NewPostEvent
的用法示例。
在下文中一共展示了NewPostEvent.notify方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: watch_thread
# 需要导入模块: from forums.events import NewPostEvent [as 别名]
# 或者: from forums.events.NewPostEvent import notify [as 别名]
def watch_thread(request, forum_slug, thread_id):
"""Watch/unwatch a thread (based on 'watch' POST param)."""
forum = get_object_or_404(Forum, slug=forum_slug)
if not forum.allows_viewing_by(request.user):
raise Http404
thread = get_object_or_404(Thread, pk=thread_id, forum=forum)
if request.POST.get('watch') == 'yes':
NewPostEvent.notify(request.user, thread)
else:
NewPostEvent.stop_notifying(request.user, thread)
return HttpResponseRedirect(reverse('forums.posts',
args=[forum_slug, thread_id]))
示例2: new_thread
# 需要导入模块: from forums.events import NewPostEvent [as 别名]
# 或者: from forums.events.NewPostEvent import notify [as 别名]
def new_thread(request, forum_slug):
"""Start a new thread."""
forum = get_object_or_404(Forum, slug=forum_slug)
user = request.user
if not forum.allows_posting_by(user):
if forum.allows_viewing_by(user):
raise PermissionDenied
else:
raise Http404
if request.method == 'GET':
form = NewThreadForm()
return jingo.render(request, 'forums/new_thread.html',
{'form': form, 'forum': forum})
form = NewThreadForm(request.POST)
post_preview = None
if form.is_valid():
if 'preview' in request.POST:
thread = Thread(creator=request.user,
title=form.cleaned_data['title'])
post_preview = Post(thread=thread, author=request.user,
content=form.cleaned_data['content'])
post_preview.author_post_count = \
post_preview.author.post_set.count()
else:
thread = forum.thread_set.create(creator=request.user,
title=form.cleaned_data['title'])
thread.save()
statsd.incr('forums.thread')
post = thread.new_post(author=request.user,
content=form.cleaned_data['content'])
post.save()
NewThreadEvent(post).fire(exclude=post.author)
# Add notification automatically if needed.
if Setting.get_for_user(request.user, 'forums_watch_new_thread'):
NewPostEvent.notify(request.user, thread)
url = reverse('forums.posts', args=[forum_slug, thread.id])
return HttpResponseRedirect(urlparams(url, last=post.id))
return jingo.render(request, 'forums/new_thread.html',
{'form': form, 'forum': forum,
'post_preview': post_preview})
示例3: reply
# 需要导入模块: from forums.events import NewPostEvent [as 别名]
# 或者: from forums.events.NewPostEvent import notify [as 别名]
def reply(request, forum_slug, thread_id):
"""Reply to a thread."""
forum = get_object_or_404(Forum, slug=forum_slug)
user = request.user
if not forum.allows_posting_by(user):
if forum.allows_viewing_by(user):
raise PermissionDenied
else:
raise Http404
form = ReplyForm(request.POST)
post_preview = None
if form.is_valid():
thread = get_object_or_404(Thread, pk=thread_id, forum=forum)
if not thread.is_locked:
reply_ = form.save(commit=False)
reply_.thread = thread
reply_.author = request.user
if 'preview' in request.POST:
post_preview = reply_
post_preview.author_post_count = \
reply_.author.post_set.count()
else:
reply_.save()
statsd.incr('forums.reply')
# Subscribe the user to the thread.
if Setting.get_for_user(request.user,
'forums_watch_after_reply'):
NewPostEvent.notify(request.user, thread)
# Send notifications to thread/forum watchers.
NewPostEvent(reply_).fire(exclude=reply_.author)
return HttpResponseRedirect(thread.get_last_post_url())
return posts(request, forum_slug, thread_id, form, post_preview,
is_reply=True)
示例4: test_delete_removes_watches
# 需要导入模块: from forums.events import NewPostEvent [as 别名]
# 或者: from forums.events.NewPostEvent import notify [as 别名]
def test_delete_removes_watches(self):
t = Thread.objects.get(pk=1)
NewPostEvent.notify('[email protected]', t)
assert NewPostEvent.is_notifying('[email protected]', t)
t.delete()
assert not NewPostEvent.is_notifying('[email protected]', t)
示例5: test_delete_removes_watches
# 需要导入模块: from forums.events import NewPostEvent [as 别名]
# 或者: from forums.events.NewPostEvent import notify [as 别名]
def test_delete_removes_watches(self):
t = thread(save=True)
NewPostEvent.notify('[email protected]', t)
assert NewPostEvent.is_notifying('[email protected]', t)
t.delete()
assert not NewPostEvent.is_notifying('[email protected]', t)