def unwatch_approved(request): """Stop watching approved revisions.""" locale = request.POST.get('locale') if locale not in settings.SUMO_LANGUAGES: raise Http404 destroy_watch(Document, None, request.user.email, 'approved', locale) return HttpResponseRedirect(reverse('dashboards.localization'))
def watch_forum(request, document_slug): """Watch/unwatch a forum (based on 'watch' POST param).""" doc = get_document(document_slug, request) if request.POST.get('watch') == 'yes': create_watch(Document, doc.id, request.user.email, 'post') else: destroy_watch(Document, doc.id, request.user.email, 'post') return HttpResponseRedirect(reverse('wiki.discuss.threads', args=[document_slug]))
def watch_forum(request, forum_slug): """Watch/unwatch a forum (based on 'watch' POST param).""" forum = get_object_or_404(Forum, slug=forum_slug) if not forum.allows_viewing_by(request.user): raise Http404 if request.POST.get("watch") == "yes": create_watch(Forum, forum.id, request.user.email, "post") else: destroy_watch(Forum, forum.id, request.user.email, "post") return HttpResponseRedirect(reverse("forums.threads", args=[forum_slug]))
def watch_thread(request, document_slug, thread_id): """Watch/unwatch a thread (based on 'watch' POST param).""" doc = get_document(document_slug, request) thread = get_object_or_404(Thread, pk=thread_id, document=doc) if request.POST.get('watch') == 'yes': create_watch(Thread, thread.id, request.user.email, 'reply') else: destroy_watch(Thread, thread.id, request.user.email, 'reply') return HttpResponseRedirect(reverse('wiki.discuss.posts', args=[document_slug, thread_id]))
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": create_watch(Thread, thread.id, request.user.email, "reply") else: destroy_watch(Thread, thread.id, request.user.email, "reply") return HttpResponseRedirect(reverse("forums.posts", args=[forum_slug, thread_id]))
def test_destroy_watch_not_exist(self): """Destroying a non-existent watch should return False.""" assert not destroy_watch(Thread, 1, '*****@*****.**', 'reply')
def test_destroy_watch_exists(self): """Destroying a watch should return True, and work.""" assert destroy_watch(Thread, 1, '*****@*****.**', 'reply') w = EventWatch.objects.filter(email='*****@*****.**') eq_(0, len(w))
def unwatch_question(request, question_id): """Stop watching a question.""" question = get_object_or_404(Question, pk=question_id) destroy_watch(Question, question.id, request.user.email) return HttpResponseRedirect(question.get_absolute_url())
def unwatch_locale(request): """Stop watching a locale for revisions ready for review.""" destroy_watch(Document, None, request.user.email, 'ready_for_review', request.locale) return HttpResponseRedirect(reverse('dashboards.localization'))
def unwatch_document(request, document_slug): """Stop watching a document for edits.""" document = get_object_or_404( Document, locale=request.locale, slug=document_slug) destroy_watch(Document, document.id, request.user.email) return HttpResponseRedirect(document.get_absolute_url())